web-dev-qa-db-fra.com

Comment ajouter des tags shortcode dans single.php

Dans mon thème a une balises shortcode pour afficher les balises de poste et fonction pour charger le contenu du contenu. Mais dans la fonction n'inclut pas la balise shortcode. Maintenant, je veux l'ajouter pour fonctionner mais je ne sais pas comment le faire. J'espère que tout le monde m'aide. Merci d'avance.

balise Shortcode

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' );

Fonction permettant de charger le contenu du message

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

Une autre option consiste à utiliser la fonction do_shortcode () . Cela obligera WordPress à exécuter le shortcode comme s'il se trouvait dans l'éditeur de contenu.

Donc, là où vous voulez que vos balises postales apparaissent, mettez-les simplement.

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

je veux ajouter une balise shortcode en post unique pour afficher les balises

Collez [post_tags] dans votre corps de publication via l'éditeur de publications sur le backend .

Voir: http://codex.wordpress.org/Shortcode_API

Si vous voulez le faire automatiquement, vous pouvez mettre un filtre sur the_content (non testé):

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