У меня есть сайт WordPress. Поэтому я делаю код для преобразования заголовка сообщения на английский с арабского, но код получает название сообщения из WordPress.
Я использую плагин Все в одном пакете SEO. Поэтому я добавляю заголовок для плагина на каждую страницу, а не заголовок сообщения, но заголовок во входных файлах Все в одном пакете SEO.
Я хочу получить название «Все в одном пакете SEO», чтобы преобразовать его.
Вот код для конвертирования title в 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); }
,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. Как я могу это сделать?
Легко <?php echo get_the_title( $post_id ); ?>
<?php echo get_the_title( $post_id ); ?>
надеюсь, это поможет
Это старый вопрос, но я отвечаю на него, потому что он появляется в результатах поиска Google.
Все в одном пакете SEO используют настраиваемые поля для хранения даты в базе данных. Предполагая, что имя настраиваемого поля для поля заголовка All в одном плагине для SEO – «_aioseop_title». (сначала убедитесь, что плагин использует собственное имя, отличное от _aioseop_title, затем замените его на это имя).
Таким образом, чтобы получить значение поля заголовка плагина seo, используйте эту строку кода в своей функции в functions.php:
get_post_meta( $post_id, $key, $single );
Объяснение …
$ post_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
:: Я не тестировал его, поэтому в случае возникновения каких-либо проблем оставляю комментарий, я буду рад помочь.