我有WordPress网站。所以我制作代码将阿拉伯语的帖子标题转换为英语,但代码从WordPress获得帖子的标题。
我在一个SEO包中使用插件。所以我在每个页面上添加了插件的标题,而不是在一个SEO包中输入所有内容的标题而是标题。
我希望获得All in one SEO包的标题来转换它。
以下是functions.php
中转换标题的代码:
function arb2en_title($post=0)
{
$text = get_the_title($_aioseop_title);
/*
function arb2en_title($post=0)
{
$text = get_the_title($post);
*/
$arb_en_map=array(
'د'=>']',
'ج'=>'[',
'ح'=>'p',
'خ'=>'o',
'ه'=>'i',
'ع'=>'u',
'غ'=>'y',
'ف'=>'t',
'ق'=>'r',
'ث'=>'e',
'ص'=>'w',
'ض'=>'q',
'ش'=>'a',
'س'=>'s',
'ي'=>'d',
'ب'=>'f',
'ل'=>'g',
'ا'=>'h',
'ت'=>'j',
'ن'=>'k',
'م'=>'l',
'ك'=>';',
'ط'=>'\'',
'ظ'=>'/',
'ز'=>'.',
'و'=>',',
'ة'=>'m',
'ى'=>'n',
'لا'=>'b',
'ر'=>'v',
'ؤ'=>'c',
'ء'=>'x',
'ئ'=>'z',
'إ'=>'Y',
'لإ'=>'T',
'لأ'=>'G',
'أ'=>'H',
'لآ'=>'B',
'آ'=>'N'
);
foreach($arb_en_map as $key=>$value)
{
$text=preg_replace("/$key/",$value,$text);
}
return htmlentities($text);
}
此代码获得帖子的标题,但我需要输入标题输入所有在一个SEO包。我怎么能这样做?
答案 0 :(得分:14)
很容易<?php echo get_the_title( $post_id ); ?>
希望有所帮助
答案 1 :(得分:1)
这是一个老问题,但我正在回答它,因为它出现在Google搜索结果中。
一体化SEO包使用自定义字段在数据库中存储日期。 假设All in one SEO插件的title字段的自定义字段名称是“_aioseop_title”。 (如果插件使用_aioseop_title以外的自定义文件名,请先确认,然后将其替换为该名称。)
因此,要获得seo插件的title字段的值,请在functions.php函数中使用以下代码行:
get_post_meta( $post_id, $key, $single );
...说明
<强> $ POST_ID:强>
要获得帖子ID,您可以使用:
global $post;
$post_id = $post->ID;
<强> $键:强>
$key = “_aioseop_title”; //check if plugin is using same name for title field
<强> $单一强>
$single = true; // if true then it will return single value otherwise all values of _aioseop_title in an array.
参考:https://codex.wordpress.org/Function_Reference/get_post_meta
::我没有测试过,所以如有任何问题请发表评论我很乐意提供帮助。