如何在PHP中链接所有页面并排除当前页面

时间:2019-03-18 15:47:03

标签: php html wordpress

我目前有一些PHP可以完全按照我的要求工作(生成具有相同页面模板的所有页面的列表)。

fixedRate

但是现在我想做两件事。

首先-我希望每个p标签也都具有一个href,链接到相应的页面。

第二个-我想将我所在的页面从列表中排除(否则它将链接到查看器已经存在的页面,从而使其重复)。

非常感谢您!

1 个答案:

答案 0 :(得分:0)

您可以利用WP_Query类对Wordpress中的几乎所有内容执行有针对性的查找。

在这种情况下,在执行“页面循环”之前,我们使用post__not_in_wp_page_template元查找进行过滤。请记住在循环的末尾调用wp_reset_postdata()进行调用,以便各种(get_)the_ *函数再次返回当前页面的数据:

$query = new WP_Query(array(
    'post_type' => 'page',
    'post_status' => array('publish', 'future'),
    'post__not_in' => array(
        get_the_ID()
    ),
    'meta_query' => array(
        'relation' => 'and',
        array(
            'key' => '_wp_page_template',
            'value' => 'template.php',
            'compare' => '='
        )
    )
));

if($query->have_posts()) {
    while($query->have_posts()) {
        $query->the_post();

        echo '<p><a href="' . get_the_permalink() . '">' . get_the_title() . '</a></p>';
    }

    wp_reset_postdata();
}