将代码插入到单个php中的代码

时间:2016-03-18 作者:Snow

我正在使用一个插件,可以在我的单曲中添加内容。php页面。我可以通过插入<!--code--> 在编辑器的文本侧,为任何单个帖子。

我想做<!--code--> 对于所有单桩。我以前使用代码在第二段(以下)后插入广告。但是当我取出广告代码并放入<!--code--> 它似乎不像我在帖子的文本侧那样插入它,即没有任何变化。

如何插入一段代码,如<!--code--> 就像在WordPress编辑器的文本侧一样,使用此代码或任何其他代码?

(为清晰起见进行编辑:读者看不到它。它位于post editor的“文本”侧(而不是“视觉”侧,因此在那里,但读者看不到它,在编辑器的“视觉”侧也不可见。)

谢谢

// Insert ads after second paragraph of single post content. 

add_filter( \'the_content\', \'prefix_insert_post_ads\' );
function prefix_insert_post_ads( $content ) {
    $ad_code = \'<div> **code** </div>\'; 
    if ( is_single() && ! in_category( \'1293\' ) && ! is_admin() )  {
        return prefix_insert_after_paragraph( $ad_code, 2, $content );
    }
    return $content;
}

// Parent Function that makes the magic happen

function prefix_insert_after_paragraph( $insertion, $paragraph_id, $content ) {
    $closing_p = \'</p>\';
    $paragraphs = explode( $closing_p, $content );
    foreach ($paragraphs as $index => $paragraph) {
        if ( trim( $paragraph ) ) {
            $paragraphs[$index] .= $closing_p;
        }
        if ( $paragraph_id == $index + 1 ) {
            $paragraphs[$index] .= $insertion;
        }
    }
    return implode( \'\', $paragraphs );
}

1 个回复
SO网友:majick

令人困惑的问题。听起来你的意思是插件正在检查<!-- code --> 并以此作为触发器,指示不添加广告代码。

我认为您需要确定插件用于添加广告代码的过滤器,以便找到过滤器优先级,并确保在运行之前添加自己的过滤器。你可以试试这个,我正在用0 这里有优先权,所以希望它比其他任何东西都优先运行:

add_filter(\'the_content\',\'insert_ad_removal_code\',0);
function insert_ad_removal_code($content) {
    // do not need !is_admin with these conditions
    if ( is_single() && in_category( \'1293\' ) )  {
        // maybe not neeed, but check if already added
        if (!strstr($content,\'<!-- code -->\')) {
            // add the code that will prevent the add
            $content = \'<!-- code -->\'.$content;
        }
    }
    return $content;
}
我想你是想从分类中的帖子中删除所有广告1293 这样做,但不清楚你是否想要相反的方式。

相关推荐

如何在Functions.php中链接style.css

我是WordPress的新手;我刚开始学习WordPress。我想把风格联系起来。函数中的css。php,但我无法解决这里可能存在的问题。谁能给我指出正确的方向吗?指数php<?php get_header(); ?> <?php if ( have_posts() ) { while ( have_posts() ) { the_post();