Выводить код на всех записях кроме опредленных

K
На сайте с 10.01.2015
Offline
110
317

Доброго времени суток.

Вывожу рекламный код блоков AdSense после первого абзаца во всех статьях.

Код выводится во всех записях, удовлетворяющих условиях

function wpse_ad_content( $content ) {

if( !is_single() )

Подскажите, как модифицировать эту запись чтобы реклама выводилась везде, кроме определённых записей ID. Такая вставка ( ! is_single ( array(11111, 222, 333, 444) ) ) не помогает, так как в таком случае реклама отображается только на этих страницах.

eklips007
На сайте с 02.02.2010
Offline
64
#1

$pid=array(11111, 222, 333, 444)

if (!in_array($post->ID, $pid))

{}

LinkBoss.net - Трастовые ссылки для увеличения трафика в 10 раз! (http://linkboss.net/)
K
На сайте с 10.01.2015
Offline
110
#2
eklips007:
$pid=array(11111, 222, 333, 444)

if (!in_array($post->ID, $pid))
{}

Я не очень опытен в PHP, поэтому хотелось бы узнать как вставить это в Functions.

Сейчас это выглядит примерно так:

add_filter( 'the_content', 'wpse_ad_content' );

function wpse_ad_content( $content ) {
if( !is_single() )
return $content;
$paragraphAfter = 1;
$content = explode ( "</p>", $content );
eklips007
На сайте с 02.02.2010
Offline
64
#3

Если я не ошибаюсь то так


add_filter( 'the_content', 'wpse_ad_content' );
function wpse_ad_content( $content ) {
$pid=array(11111, 222, 333, 444);
if (!in_array($post->ID, $pid))
return $content;
$paragraphAfter = 1;
$content = explode ( "</p>", $content );

K
На сайте с 10.01.2015
Offline
110
#4
eklips007:
Если я не ошибаюсь то так

Нет не срабатывает. Даже если в $pid вставить номер конкретной записи, то рекламы на ней по-прежнему нет.

---------- Добавлено 17.03.2016 в 00:15 ----------

Покопался и решил проблему вставкой кода

if ( ! is_single ( array(1111, 2222) ) ) в качестве дополнительного условия.

eklips007
На сайте с 02.02.2010
Offline
64
#5

add_filter( 'the_content', 'wpse_ad_content' );
function wpse_ad_content( $content ) {
$pid=array(11111, 222, 333, 444);
mail("youmail@mail.com","test",$post->ID." - ".$pid);
if (!in_array($post->ID, $pid))
return $content;
$paragraphAfter = 1;
$content = explode ( "</p>", $content );

сделайте проверку на переменную. Возможно $post->ID не срабатывает. Мыло свое поставьте и после запуска ждите письмо с данными

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий