显示Wordpress帖子列表

时间:2017-07-12 17:50:03

标签: php wordpress

我很感激任何帮助!我试图在窗口小部件中显示帖子列表,按自定义字段元数据值排序。

我调整了我在这里找到的代码:https://www.advancedcustomfields.com/resources/orde-posts-by-custom-fields/

我的代码:

<?php 

// get posts
$posts = get_posts(array(
    'post_type' => 'events',
    'posts_per_page' => -1,
    'meta_key' => 'date_time_code',
    'orderby' => 'meta_value',
    'order' => 'DESC'
));

if( $posts ): ?>
    <ul>
    <?php foreach( $posts as $post ): 
        setup_postdata( $post )
        ?>
        <li>
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?> </a>
        </li>
    <?php endforeach; ?>
    </ul>
    <?php wp_reset_postdata(); ?>
<?php endif; ?>

结果输出显示正确的链接数(对应于事件的实际数量)但链接文本和链接不正确。链接指向列表当前显示的任何页面,链接文本是当前页面标题。所以在主页上,列表显示 家 家 家 并且链接全部到主页。

如何正确显示和链接链接?

1 个答案:

答案 0 :(得分:0)

这取决于您如何包含包含代码的文件。如果您使用get_template_part WP正确设置了所有必要的全局变量,例如,如果您使用普通include,则需要将其添加到文件的顶部:

global $post;

WP喜欢那些全局变量,这是一个很麻烦的工作。您基本上可以使用错误的变量名来关闭整个站点。