Intereting Posts
media_handle_upload на поля формы микширования (не требуется ввод файла) Пользовательский короткий код, не отображающий категории и правильную дату JQuery При нажатии кнопки удаляется короткий код Ошибка базы данных WordPress: – используя $ wpdb-> prepare () Количество должностей для каждого таксономического термина за каждый месяц Список категорий и выделение текущей категории Пользовательский таксономический JavaScript-код Запуск функции для почтового содержимого и метаданных CPT Как отображать ссылки на страницы для WP_User_Query? Как intergrate wordpress.com с твиттером, как это происходит с facebook? Как получить и отобразить таблицу базы данных в панели инструментов WordPress Выходные условия для post_class () Пользовательский статус сообщения не работает Как изменить почту по умолчанию, когда администратор одобрил пользователя? Пытается выводить содержимое со страницы, работает локально, но не в сети

Массив для изменения заголовков сообщений

Может ли это быть преобразовано в массив:

function manipulate_post_title($title){ global $post; if ($post->ID == 1) {$title = $title.'suffix';} if ($post->ID == 2) {$title = $title.'different_suffix';} } add_filter ('the_title','manipulate_post_title',10,1); 

Что-то вроде:

 '1' => $title.'suffix', '2' => $title.'different_suffix' 

Новая версия, основанная на вашем коде (не работает):

 function manipulate_post_title($title){ global $post; $title = get_the_title(); $title_array = array( '1' => $title.'suffix', '2' => 'prefix'.$title, '3' => 'completely different title' ); if ( is_single() && isset($title_array[$post->ID]) ) { $title = $title_array[$post->ID]; } return $title; // Don't forget the return value! } add_filter ('the_title','manipulate_post_title',10,1); 

Ваш примерный код можно легко преобразовать в массив, например:

Обновленный и улучшенный код для вашего нового примера:

 function manipulate_post_title( $title, $post_id ) { $title_array = array( '1153' => $title . '-suffix', '2' => 'prefix-' . $title, '3' => 'completely different title', ); if ( is_single() && isset( $title_array[ $post_id ] ) ) { $title = $title_array[ $post_id ]; } else { // For debugging I set the title to "[123] Title" so I can find the post_id $title = '[' . $post_id . '] ' . $title; } return $title; } add_filter( 'the_title', 'manipulate_post_title', 99, 2 ); 

Ваш код не работает, потому что он имеет бесконечный цикл: вы вызываете функцию «the_title ()» внутри фильтра «the_title» (это вызовет фильтр снова и снова, пока не произойдет ошибка памяти)

Приведенный выше код работает над моей установкой и изменяет заголовок, поскольку он возвращается функцией WordPress «get_the_title ()» или «the_title ()». В теме Twentyfourteen он изменит заголовок, отображаемый внутри <h1> страницы, но не элемент <title> который отображается на вкладке браузера!

Пример скриншота с моей тестовой страницы