Meta tags in shortcode

时间:2017-03-31 作者:Eva

缩略图和标题会按原样显示,但帖子元会显示在页面顶部。检索post元数据的正确代码是什么?

function evasmat_posts_shortcode(){
    $q = new WP_Query(
        array( \'orderby\' => \'date\', \'posts_per_page\' => \'4\')
    );

    $list = \'<div class="cards">\';

    while($q->have_posts()) : $q->the_post();

        $list .= \'<div class="card">\' .  get_the_post_thumbnail() . \'<h2 class="entry-title-index"><a href="\'.get_permalink().\'">\'.get_the_title() .\'</a></h2>\'  .\'<div class="entry-meta">\' . get_post_meta (evasmat_posted_on() ) .\'</div></div>\';


    endwhile;

    wp_reset_query();

    return $list . \'</div>\';

}

add_shortcode(\'recent-posts\', \'evasmat_posts_shortcode\');

1 个回复
SO网友:input

自从evasmat_posted_on() 是主题中的函数,无需使用get_post_meta 获取日期。您可以直接调用该函数,以便:

function evasmat_posts_shortcode(){
    $q = new WP_Query(
        array( \'orderby\' => \'date\', \'posts_per_page\' => \'4\')
    );

    $list = \'<div class="cards">\';

    while($q->have_posts()) : $q->the_post();

        $list .= \'<div class="card">\' .  get_the_post_thumbnail() . \'<h2 class="entry-title-index"><a href="\'.get_permalink().\'">\'.get_the_title() .\'</a></h2>\'  .\'<div class="entry-meta">\' . evasmat_posted_on() .\'</div></div>\';


    endwhile;

    wp_reset_query();

    return $list . \'</div>\';

}

add_shortcode(\'recent-posts\', \'evasmat_posts_shortcode\');

相关推荐

Namespaced shortcode?

我正在改造一个旧的WP站点,该站点有许多自定义的短代码,显然由于代码当前的组织方式,这些短代码在性能方面付出了代价。当然,我可以修复优化不好的代码,使用十几个短代码,并且一天就可以完成,但我想知道如何更好地组织它们。根据WordPress\'documentation, 建议将它们放在插件中并在上初始化init. 我们可以通过这样“命名”它们来减少这个钩子中的负载吗?[com.company shortcode attr=\"attr\" prop=\"prop\"] 有人尝试过这样的解决方案吗