web-dev-qa-db-ja.com

Short.codeタグをsingle.phpに追加する方法

私のテーマでは投稿のタグを表示するための1つのショートコードタグとコンテンツの投稿をロードするための機能があります。しかし機能的にはショートコードタグは含まれていません。今私はそれを機能に追加したいのですが、私はそれを行う方法がわかりません。みんなが助けてくれることを願っています。少し早いですがお礼を。

ショートコードタグ

function wwl_post_tags( $atts ) {
    if( $tags = get_the_tag_list( '', ', ' ) ) {

        $defaults = array(
            'before' => __( 'Từ khóa: ', 'icy' ),
            'after'  => '. ',
        );
        $atts = shortcode_atts( $defaults, $atts );

        return sprintf( '%1$s<span class="entry-tags">%2$s</span>%3$s',
            $atts['before'],
            $tags,
            $atts['after']
        );
    }
}
add_shortcode( 'post_tags', 'wwl_post_tags' );

コンテンツ投稿を読み込む機能

function wwl_post_content() {
    global $more;

    if ( ! is_single() ) {
        $more = 0;  
    }

    do_action( 'wwl_before_post_content' ); // Hook

    if ( ! is_single() && of_get_option('post_content') == 2 || is_search() ) :
    ?>
        <div class="entry-summary">
            <?php wwl_thumbnail(); ?>
            <?php the_excerpt(); ?>
            <div class="clearfix"></div>
        </div><!-- .entry-summary -->
    <?php else : ?>
        <div class="entry-content">
            <?php wwl_thumbnail(); ?>
            <?php the_content( '', false, '' ); ?>
            <?php wp_link_pages( array( 'before' => '<div class="page-links">' . __( 'Pages:', 'icy' ), 'after' => '</div>' ) ); ?>         
            <div class="clearfix"></div>
        </div><!-- .entry-content -->
    <?php endif;
}
1
Hung The

もう1つの選択肢は、 do_shortcode()関数 を使用することです。これにより、WordPressはショートコードをコンテンツエディタにあるかのように実行します。

それであなたはあなたのポストタグを出現させたいところに置くだけです。

<?php echo do_shortcode('[post_tags]'); ?>
3
Paulund

私はタグを表示するために単一の記事にショートコードタグを追加したい

バックエンドの 投稿エディタを介して[post_tags]を投稿本文に貼り付けます

参照: http://codex.wordpress.org/Shortcode_API

あなたが自動的にそれをしたいのなら、the_content(未テスト)にフィルタをかけることができます。

add_filter(
   'the_content',
   function($content) {
     if (is_single()) 
      $content .= '[post_tags]';
     }
     return $content;
   }
);
1
s_ha_dum