Поместите заголовок страницы в короткий код

Я создал короткий код с именем [contianer-narrow][/container-narrow] который обертывает ваше содержимое в класс bootstrap twitter: .container-narrow проблема заключается в том, что заголовок страницы не включен. есть ли способ сказать:

if this short code is used, include the page title, else forget it?

Solutions Collecting From Web of "Поместите заголовок страницы в короткий код"

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

Но было бы гораздо разумнее уничтожить подход «короткий код» и просто создать новый шаблон страницы .
(Тем более, учитывая, что синтаксический анализ для короткого кода или, по крайней мере, его последствий, все равно должен произойти в использованном файле шаблона)

Скопируйте содержимое page.php вашей темы в новый файл.
Назовите эту page-narrow.php .
Подготовьте его

 <?php /* * Template Name: Narrow Page */ ?> 

И заверните скопированную часть в элемент с нужным классом.

Я бы попробовал что-то вроде этого (не тестировалось):

  функция has_shortcode ($ sc = '') {
     глобальный $ wp_query;
     foreach ($ wp_query-> сообщений как $ post) {
         if (! empty ($ sc) && stripos ($ post-> post_content, '['. $ sc)! == false) {
             return true;
         }
     }
     return false;
 } 

Тогда вы можете использовать его так:

  if (has_shortcode ('container-narrow') {}