Intereting Posts
WP Query Sort by meta value (date) Является ли раздел «категория» привязан к URL-адресу в архиве или публикации? Набор файлов cookie без флага HttpOnly Как сжать изображение перед вставкой в ​​wordpress с помощью функции wp_insert_attachment? Фильтрация поиска по полям ACF Один файл для всех виртуальных, загружаемых версий продукта w3 Общее кэширование кэширования – Запрошенный URI отклонен WP_Query – манипуляция объектов с функциями WordPress WordPress multisite в подкаталоге, а не в корневом каталоге, и удалите базовую папку из URL-адреса Использование WordPress с Apache за обратным прокси-сервером nginx Изменить положение метабокса в бэкэнде (программно) для конкретной роли Как отображать комментарии и форму комментариев в пользовательском типе сообщений? Как поделиться основной библиотекой WordPress Как проверить массив регистров Сортировка сообщений по первой букве в заголовке, а не по первому номеру

Нужна помощь по таргетингу на настраиваемый тип сообщений с условными тегами

Я нашел код в Интернете для создания блоков контента в своем блоге WordPress. Я использую блок контента в нижней части боковой панели моей страницы для виджета для покупок. Вот соответствующий код из functions.php:

function initialize_content_blocks() { register_post_type('content-block', array( 'labels' => array( 'name' => 'Content Blocks', 'singular_name' => 'Content Block', 'add_new_item' => 'Add New Content Block', 'edit_item' => 'Edit Content Block', 'new_item' => 'New Content Block', 'view_item' => 'View Content Block', 'search_items' => 'Search Content Blocks', 'not_found' => 'No content_blocks found', 'not_found_in_trash' => 'No content blocks found in Trash', 'view' => 'View Content Block' ), 'publicly_queryable' => false, 'exclude_from_search' => true, 'public' => true, 'rewrite' => false, 'supports' => array('title', 'editor'), 'taxonomies' => array() )); } 

Я добавил еще один код сегодня, чтобы попытаться добавить рекламу после параграфа 2 каждого сообщения на мобильном телефоне . Вот этот раздел о functions.php:

 if ( $detect->isMobile() ) { add_filter('the_content', 'wpse_ad_content'); function wpse_ad_content($content) { if (!is_single) return $content; $paragraphAfter = 2; //Enter number of paragraphs to display ad after. $content = explode("</p>", $content); $new_content = ''; for ($i = 0; $i < count($content); $i++) { if ($i == $paragraphAfter) { $new_content.= '<div class="content-ad">'; $new_content.= '<a href="http://tarynwilliford.com/collaborate/">Advertisement</a>'; $new_content.= '<script type="text/javascript" src="http://ap.lijit.com/www/delivery/fpi.js?z=287429&u=tarynwilliford&width=300&height=250"></script>'; $new_content.= '</div>'; } $new_content.= $content[$i] . "</p>"; } return $new_content; } } 

Функция объявления выше отлично работает, но также добавляет мое объявление после пункта 2 блока контента для покупок на боковой панели. Как я могу изменить код для назначения отдельных сообщений, но исключить блоки контента?

Я пробовал это:

  if (!is_single() || is_singular( 'Content Block' )) return $content; 

(Я учусь, но то, что я думаю, это означает: если это! НЕ является сообщением ИЛИ, если это «Блок контента», верните контент как есть без объявления )

И это:

  if (!is_single() || 'Content Block' == get_post_type()) return $content; 

Но никто не работает.

Может кто-нибудь, пожалуйста, указать мне в сторону того, что я делаю неправильно? Это единственное имя «Content Block»? Может быть, я не читаю код прямо в переводе моего мирянина выше?

….

Примечание. В моем устранении неполадок я старался настроить цель, кроме блоков контента, путем изменения строки выше, чтобы читать if (is_singular( 'Content Block' )) return $content; , но это ставит объявление на все, включая сообщения, страницы и блоки контента. Поэтому я предполагаю, что is_singular ( 'Content Block') не делает трюк.

Пожалуйста помоги!

Solutions Collecting From Web of "Нужна помощь по таргетингу на настраиваемый тип сообщений с условными тегами"

Вы хотите первый параметр ( $post_type ) register_post_type () – по умолчанию это используется для « slug », поэтому в вашем случае это:

content-block

Названия name и name singular-name вы ссылаетесь, предназначены только для показа – см. Пример get_post_type_object () .

Так что это должно сработать (обратите внимание, что я не тестировал остальную часть вашего кода рекламы):

 if (! is_single() || 'content-block' == get_post_type() ) { return $content; } 

NB: слик в URL-адресе не обязательно должен быть $ post_type, вы можете изменить его, указав аргумент перезаписи (например, в документе register_post_type ()) .)