如何使用模板Singel-{Custom type}.php在循环中获取某个自定义帖子类型的当前帖子id?

时间:2013-11-22 作者:sun

我有一个自定义的帖子类型模板,我在其中循环浏览所有帖子。我正在尝试的是,当我转到自定义帖子页面时,我想在循环中获取当前帖子id。

因此,我尝试检查循环中的帖子的永久链接是否相同。如果相同,我将获取循环中当前帖子的帖子id。

这是我试过的代码

首先尝试让permalink在外部检查它在循环内部

$permalink = get_permalink();
现在我得到了当前的post permalink现在我想得到当前的post id

if($query->have_posts()) : 
    while ($query->have_posts()) : $query->the_post();
        if(the_permalink()==$permalink){
            echo get_the_ID();
        }else{
            echo "not found";
        }
    endwhile;
    wp_reset_postdata();
endif;
我试过这个single-{custom-post-name}.php 我正在not found.谁能给我一个方法来获取此模板中当前的帖子id?

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

所以有两个循环:主循环和第二个循环使用$query.

您想比较在第二个循环的某个点上,当前帖子(在循环内)和$query

我说得对吗?

我建议检查ID,而不是检查永久链接。

因此,在第一个循环中,您创建了一个具有当前post id的变量:

$current_post_id = $post->ID;
在第二个循环中,您只需比较:

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

    if( $current_post_id === $post->ID ) {
         echo $post->ID; 
    } else {
        echo "not found";
    }

endwhile; wp_reset_postdata(); endif;
不确定你在找什么,请告诉我们。

附言:我应该为你的查询添加一个更具体的名称,只是为了避免插件或任何东西的名称冲突,比如$my_prefix_query

结束

相关推荐

Taxonomy Templates

我不太明白如何链接到我的分类法模板。我需要做一个临时页面并从那里查询我的条款吗?我当前正在使用分类层次结构:Taxonomy$labels = array( \'name\' => __( \'Product Categories\' ), \'singular_name\' => __( \'Product Category\' ), \'search_items\' =>