Intereting Posts
Как обновить пользовательские поля профиля пользователя Иерархия и контроль доступа для пользовательских типов сообщений (CPT) CDN + WP Admin Query – перенаправление .htaccess массовое обновление post_content Тема одной страницы: Могу ли я отображать другие страницы с соответствующими темами на другой странице? Я хочу создать PDF-файл и сохранить его в библиотеке? Правило перезаписи типа пользовательского сообщения WordPress соответствует всем страницам, возвращающим 404 Очистить кеш при отправке сообщения Проверьте, когда тип сообщения изменяется, и отображает содержимое wp db import – получение ошибки: отсутствует файл импорта Как создать петицию как форму на основе пользовательских типов сообщений? Количество загрузок, отображаемых для плагина в каталоге плагина WordPress.org, включает автоматические обновления? Как фильтровать $ content в функции короткого кода Реализация клонирования CrunchBase.com с использованием WordPress? Сортировка сообщений по имени пользовательской таксономии

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

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

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

Есть идеи?

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 или никогда не запрашивать базу данных.

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