我想在Wordpress中启动循环之前获取页面ID.我在用
<body>
显然,它什么都不返回.
我只是想检查一个页面的ID,并<body>根据它添加一个类来标记.
The*_*dic 154
如果你使用漂亮的永久链接,get_query_var('page_id')将无法正常工作.
而是从全局获取查询的对象ID :$wp_query
// Since 3.1 - recommended!
$page_object = get_queried_object();
$page_id = get_queried_object_id();
// "Dirty" pre 3.1
global $wp_query;
$page_object = $wp_query->get_queried_object();
$page_id = $wp_query->get_queried_object_id();
Run Code Online (Sandbox Code Playgroud)
您还可以创建一个通用函数来获取帖子的ID,无论是在句子的外部还是内部(处理两种情况):
<?php
/**
* @uses WP_Query
* @uses get_queried_object()
* @see get_the_ID()
* @return int
*/
function get_the_post_id() {
if (in_the_loop()) {
$post_id = get_the_ID();
} else {
global $wp_query;
$post_id = $wp_query->get_queried_object_id();
}
return $post_id;
} ?>
Run Code Online (Sandbox Code Playgroud)
简单地说:
$page_id = get_the_post_id();
Run Code Online (Sandbox Code Playgroud)
小智 7
使用此全球$ post代替:
global $post;
echo $post->ID;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
99507 次 |
| 最近记录: |