在x段后显示侧栏

时间:2017-02-14 10:22:30

标签: wordpress sidebar

我正在寻找一种在我的内容中x个段落之后动态显示侧边栏的方法。

问题: dynamic_sidebar (' name ')不显示文字:var_dump($ad_code) = bool(true)结果:我的侧边栏在标题中显示两次,在内容之前显示一次,在右侧段落中显示数字" 1"。

add_filter( 'the_content', 'prefix_insert_post_ads' );

function prefix_insert_post_ads( $content ) {   
    $ad_code = dynamic_sidebar( 'sidebar-6' );

    if ( is_single() && ! is_admin() ) {
        return prefix_insert_after_paragraph( $ad_code, 1, $content );
    }
    return $content;
}

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 个答案:

答案 0 :(得分:0)

我只想补充一下:

ob_start();
dynamic_sidebar('sidebar-id');
$sidebar = ob_get_contents();
ob_end_clean();

它在工作!