Position shortcode off

时间:2018-03-01 作者:rhand

我使用此快捷码加载每个用户配置文件或作者的帖子链接列表:

/*
*
* Shortcode to display Post as links on Profile Pages
* 
*/

function imwz_golfs_list_function( $atts ) {
    if ( is_user_logged_in() ):

    global $current_user;
    wp_get_current_user();
    $author_query = array(\'posts_per_page\' => \'-1\',\'author\' => $current_user->ID);
    $author_posts = new WP_Query($author_query);
    while($author_posts->have_posts()) : $author_posts->the_post();
    ?>
        <li><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
    <?php           
    endwhile;

    else :

    echo "not logged in";

    endif;
    }

add_shortcode( \'golfslist\', \'imwz_golfs_list_function\' );
现在除了它的位置外,它在2017年也能工作。然而,在总主题上,它是在body标签之后加载的,也是在定位问题的顶部加载的。因此,在这两个主题上,它都是在主内容之前加载的,而不是在帖子或页面中使用[golfslist] 在所见即所得编辑器中。

有没有办法把列表放在编辑器中,然后把它加载到我想在帖子中的位置?你知道如何将其加载到帖子内容和body标签下方吗?

1 个回复
最合适的回答,由SO网友:mukto90 整理而成

请试试这个-

/*
*
* Shortcode to display Post as links on Profile Pages
* 
*/
function imwz_golfs_list_function( $atts ) {
    if ( is_user_logged_in() ):

    global $current_user;
    wp_get_current_user();
    $author_query = array(\'posts_per_page\' => \'-1\',\'author\' => $current_user->ID);
    $author_posts = new WP_Query($author_query);

    ob_start();

    if($author_posts->have_posts()) :

    echo \'<ul>\';

    while($author_posts->have_posts()) : $author_posts->the_post();
    ?>
        <li><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
    <?php           
    endwhile;

    echo \'</ul>\';

    else :

    echo "not logged in";

    endif;

    $content = ob_get_clean();

    return $content;

    endif;
}

add_shortcode( \'golfslist\', \'imwz_golfs_list_function\' );
未经测试,但应能正常工作。

请注意,在使用快捷码时,您的内容应该是“返回的”,而不是“回显的”。

结束

相关推荐

WP_QUERY&SHORTCODE:从WordPress类别中返回3篇文章

我想用一个短代码显示“camping camping”类别的最后3篇文章,但该功能似乎无效,好吗?function derniers_articles_camping() { // the query $the_query = new WP_Query( array( \'category_name\' => \'location-camping-var\', \'posts_per_page\' => 3, ));