如何在主博客帖子列表页面的每个帖子中调用短代码?

时间:2013-11-04 09:08:00

标签: wordpress shortcode

我在这里比较新。我试图在主列表页面的每个帖子中执行一个短信码[ssba](请查看页面http://www.theevidencenetwork.com.php54-1.ord1-1.websitetestlink.com/news-events),但无法这样做。当我在他们自己的页面中查看每个帖子时,就像当我点击那里列出的任何帖子并查看它们时,短码工作得很好。但我也希望在主页面中显示它们。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

我在这里也比较新..

短代码可能没有显示,因为它是the_excerpt(),它不会呈现短代码或HTML。

有很多方法可以解决这个'问题'

我想你可以试试这个:

add_filter( 'the_content', 'ssba_the_content_filter' );

function ssba_the_content_filter( $content ) {

    $new_content = $content;

    $new_content .= do_shortcode( '[ssba]' );

    return $new_content;
}

将此代码放在你的functions.php

这会自动在主题中的每个the_content()the_excerpt()的末尾添加[ssba]短代码。 使用此解决方案,您无需在每个帖子上手动输入此信息

如果你想要你可以在里面使用条件标签,那么你只需要添加你想要的页面。

add_filter( 'the_content', 'ssba_the_content_filter' );

function ssba_the_content_filter( $content ) {

    $new_content = $content;

    if( is_single() ) {
        $new_content .= do_shortcode( '[ssba]' );
    }

    return $new_content;
}

或者像AgmLauncher所说,你可以在循环中使用do_shortcode()

if ( have_posts() ) {
    while ( have_posts() ) {
        the_post(); 

        echo '<div>';
            the_content();
            echo do_shortcode('[ssba]');
        echo '</div>';
    } // end while
} // end if
抱歉英语不好。