我需要page id
在循环外的WordPress插件页面中获取当前信息.我为获取最新信息而编写的代码page id
在我的插件页面中.我尝试了很多代码,但是没有用
$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();
但它对我不起作用.
global $post; echo "pageid: ".$post->ID;
这也行不通.
当我尝试
global $wp_query; $post_obj = $wp_query->get_queried_object(); $Page_ID = $post_obj->ID; echo $Page_ID;
然后会出现一条错误消息
致命错误:在第876行的H:\ xampp\htdocs\wordpress\wp-content\plugins\wpk\wpk.php中的非对象上调用成员函数get_queried_object()
当我打印:
global $wp_query; print_r($wp_query);
然后结果是:
WP_Query Object ( [query] => [query_vars] => Array ( ) [tax_query] => [meta_query] => [date_query] => [queried_object] => [queried_object_id] => [request] => [posts] => [post_count] => 0 [current_post] => -1 [in_the_loop] => [post] => [comments] => [comment_count] => 0 [current_comment] => -1 [comment] => [found_posts] => 0 [max_num_pages] => 0 [max_num_comment_pages] => 0 [is_single] => [is_preview] => [is_page] => [is_archive] => [is_date] => [is_year] => [is_month] => [is_day] => [is_time] => [is_author] => [is_category] => [is_tag] => [is_tax] => [is_search] => [is_feed] => [is_comment_feed] => [is_trackback] => [is_home] => [is_404] => [is_comments_popup] => [is_paged] => [is_admin] => [is_attachment] => [is_singular] => [is_robots] => [is_posts_page] => [is_post_type_archive] => [query_vars_hash] => [query_vars_changed] => 1 [thumbnails_cached] => [stopwords:WP_Query:private] => )
我不知道如何解决这个问题,如何解决这个问题page id
.如果你知道如何解决这个问题,那么我需要你的支持.提前致谢.
get_the_ID(); or $post->ID;
返回Wordpress中的当前页面或帖子ID.
但是你需要确保你的帖子保存在wordpress post表中.其他明智的你不能得到id,只是因为它不是wordpress数据库中的条目.
如果它是一个静态页面,并且它不是wordpress帖子中的条目,那么,get_the_ID()
没有返回任何内容.
例如:get_the_ID()没有在post archive页面,wordpress后端的管理页面等中工作.
因此,根据这个问题,您正在尝试获取作为后端插件设置页面或任何存档页面的页面的ID.
UPDATE
在wordpress中获取当前post id的方法
(1) global $post; $post->ID();
(2) global $wp_query; $post_id = $wp_query->get_queried_object_id();
(3) global $wp_query; $post_id = $wp_query->post->ID;
(4) get_the_ID();
[建议此标记必须位于循环内.]
看到这个
function get_the_ID() { $post = get_post(); return ! empty( $post ) ? $post->ID : false; }
即get_the_ID()返回当前$ post的id.
(5) get_query_var('page_id')
[如果我们使用漂亮的永久链接将无法工作]
https://codex.wordpress.org/Function_Reference/get_query_var
您可以ID
使用以下技术在循环外的当前页面中获取帖子:
global $wp_query;
$post_id = $wp_query->post->ID;
$post = get_post( $post_id );
$slug = $post->post_name;