Intereting Posts
Связь ACF в URL-адресе Тестирование локального сайта WordPress через LAN с iPad, iPhone Отображение поля изображения ACF Перепишите пользовательскую таксономию, но только родительские элементы Отображение последней страницы сообщений Как смешивать 2 типа типов сообщений Как загрузить определенную часть страницы, встроенной в целую страницу? Добавление функции JS в качестве третьего параметра в do_action Включить комментарии к пользовательским типам сообщений в теме каталога Добавить логотип между формой и фоном Получить название перед запятой Необходимо переопределить файл, включенный в родительскую тему Создает ли WordPress автоматическую страницу для форматов сообщений? Указывая, две или более заархивированные записи в блогах на одну и ту же постоянную ссылку (отдельная страница) Что более эффективно? Использование usermeta или создание новой таблицы MySQL?

Проверьте, есть ли в галерее post / page?

Я хотел бы запустить некоторый код только в том случае, если галерея (вставленная с коротким ) была вставлена ​​в сообщение / страницу. Я сделал следующее:

 gallery_shortcode($post->ID) ? $gallery = 1 : $gallery = 0; 

Однако это всегда устанавливает $gallery = 0 , есть ли галерея или нет. Я использую это неправильно?

Solutions Collecting From Web of "Проверьте, есть ли в галерее post / page?"

пытаться :

 if (strpos($post->post_content,'[gallery') === false){ $gallery = 0; }else{ $gallery = 1; } 

Моя итерация по предлагаемому решению здесь – это следующая функция в функциях моей темы. Php:

 function has_gallery($post_id = false) { if (!$post_id) { global $post; } else { $post = get_post($post_id); } return ( strpos($post->post_content,'[gallery') !== false); } 

Который я могу затем вызвать в файле шаблона (не волнует The Loop):

 $has_gallery = has_gallery($post_id) ? true : false; 

или более прямой:

 has_gallery($post_id); //will evaluate to true/false 

$post_id является обязательным, следующее будет работать только внутри цикла:

 has_gallery(); 

Как просто использовать get_post_gallery() . Именно так, большинство тем проверяет, есть ли в публикации галерея для печати правильных CSS-классов тела:

 if ( get_post_gallery() ) { // run your code in here } 

PS Мне действительно не нравятся решения, которые ищут весь контент для чего-либо, даже если строковые функции, как правило, довольно быстрые в PHP, это по-прежнему огромная служебная нагрузка.