1

私はここでは比較的新しいです。メインリストページのすべての投稿で[ssba]のショートコードを実行しようとしました(ページhttp://www.theevidencenetwork.com.php54-1.ord1-1.websitetestlink.com/news-eventsを確認してください) )しかし、そうすることができませんでした。そこにリストされている投稿をクリックして表示するときのように、各投稿を独自のページで表示すると、ショートコードは正常に機能します。しかし、私はそれらをメインページにも表示したいと考えています。

それ、どうやったら出来るの?

4

1 に答える 1

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 に配置します

これにより、[ssba] ショートコードがすべてのテーマの最後に自動的に追加the_content()the_excerpt()れます。このソリューションを使用すると、すべての投稿でこの情報を手動で入力する必要はありません

必要に応じて、内部でコンディショナル タグを使用できるので、必要なページにのみ追加できます。

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;
}

do_shortcode()またはAgmlauncherが言ったように、ループで使用できます。

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

        echo '<div>';
            the_content();
            echo do_shortcode('[ssba]');
        echo '</div>';
    } // end while
} // end if

下手な英語でごめんなさい。

于 2013-11-04T19:56:02.503 に答える