Intereting Posts
Что такое индекс для почтовых мета полей? Многопользовательская установка на IIS дает 404 попытке доступа к панели управления admin Отображать поля профиля администратора сайта в header.php Загрузка Modernizr (или других библиотек JavaScript) для использования в плагине Показывать только кнопку «Предыдущий» и «Далее» в разделе «Пагинация» WordPress -> If Is Role Subscriber Показать изображение? Удалить кнопку мобильного меню При просмотре одной родительской записи отобразите список детей WooCommerce создает новый продукт и добавляет в корзину на форме submit Проблема в wp_localize_script Какая функция обрезает изображения в wordpress? Добавить родительское имя шаблона в фильтр класса тела при посещении подстраницы или отдельной записи зарегистрировать ajax call hook Сортировка сообщений по имени пользовательской таксономии Преобразование ключевых слов IPTC в теги сообщений в блоге

Изменить заголовок страницы из плагина

Можно ли изменить название страницы на лету из плагина?

Я пробовал глобальный пост $, но похоже, что плагин запускается после.

Есть идеи?

Edit: Im нажимает некоторые страницы «на лету» на основе одной и той же страницы / сообщения, поэтому каждая страница показывает одно и то же название. Поиск способа сделать по короткому коду или написать собственный плагин / функцию

Solutions Collecting From Web of "Изменить заголовок страницы из плагина"

Для этого есть фильтр:

function wpse_alter_title( $title, $id ) { // $id = $post->ID; // alter the title here return $title; } 

Если вы хотите изменить названия «Защищенные» и «Частные», вам понадобятся другие фильтры:

 // Preserve the "%s" - else the title will be removed. function wpse_alter_protected_title_format( $title ) { return __( 'Protected: %s' ); } function wpse_alter_private_title_format( $title ) { return __( 'Private: %s' ); } 

И последнее, но не менее важное: вы должны добавить свои обратные вызовы фильтра достаточно рано.

 function wpse_load_alter_title() { add_filter( 'the_title', 'wpse_alter_title', 20, 2 ); add_filter( 'protected_title_format', 'wpse_alter_protected_title_format' ); add_filter( 'private_title_format', 'wpse_alter_private_title_format' ); } add_action( 'init', 'wpse_load_alter_title' ); 

Это зависит от контекста, в котором отображается ваш заголовок страницы, и как данные передаются в него.

Рассмотрим следующее:

 <h2><?php the_title(); ?></h2> 

Решение будет связано с подключением к фильтру the_title и изменением его на ветру.

Как насчет этого?

 <h2><?php echo $post->post_title; ?></h2> // not nice! 

И это не приятно из-за проблем с изменением. Трудно понять, как в первую очередь $post . Рассматривать:

 foreach( get_posts( ... ) as $post ): ... 

На первый взгляд нет места для зацепиться. Но это можно сделать внутри фактического запроса по почте. Проверьте фильтр found_posts .

Однако учтите следующее:

 $post = $wpdb->get_row( "SELECT .... " ); echo "<h2>$post->post_title</h2>" 

Это безумно.

Точка, в зависимости от вашей ситуации, вероятно, является хорошим решением. Проверьте файл шаблона, посмотрите, как будет отображаться заголовок. Исправьте это, чтобы быть удобным или сделать ваш плагин работать немного сложнее.

И вы никогда не сможете изменить название через плагин, если mysql_query() используется непосредственно для получения заголовка. Да, я действительно видел это. Некоторые люди даже доходят до жесткого кода в шаблоне. Подобно front-page.php будет содержать <h2>Home</h2> и никогда не использовать $post->post_title или никогда не запрашивать базу данных.

Таким образом, зависит от контекста и ситуации.