如何获取特定页面的当前ID并在Get_PAGE函数中使用它?

时间:2011-01-26 作者:janoChen

代码示例:

$page_id = 116; // 123 should be replaced with a specific Page\'s id from your site, which you can find by mousing over the link to edit that Page on the Manage Pages admin page. The id will be embedded in the query string of the URL, e.g. page.php?action=edit&post=123.
$page_data = get_page( $page_id ); // You must pass in a variable to the get_page function. If you pass in a value (e.g. get_page ( 123 ); ), Wordpress will generate an error.

$content = apply_filters(\'the_content\', $page_data->post_content); // Get Content and retain Wordpress filters such as paragraph tags. Origin from: http://wordpress.org/support/topic/get_pagepost-and-no-paragraphs-problem
$title = $page_data->post_title; // Get title
echo $title; // Output Content
echo $content; // Output Content
?>
而不是166 (手动输入),我想检索当前页面的ID。

当我执行$page\\u id=$post->id时,它会检索下面循环的第一篇帖子的标题和内容(这是帖子页面):

<div class="container">
                <?php // find all content that has the type of video and then to loop through them. ?>
                <?php query_posts(\'showpost\'); ?>

                <?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>

                                <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
                                    <?php if ( is_front_page() ) { ?>
                                        <h2 class="entry-title"><?php the_title(); ?></h2>
                                    <?php } else { ?>
                                        <h1 class="entry-title"><?php the_title(); ?></h1>
                                    <?php } ?>

                                    <div class="entry-content">
                                        <?php the_content(); ?>
                                        <?

php wp_link_pages( array( \'before\' => \'<div class="page-link">\' . __( \'Pages:\', \'twentyten\' ), \'after\' => \'</div>\' ) ); ?>
                                            <?php edit_post_link( __( \'Edit\', \'twentyten\' ), \'<span class="edit-link">\', \'</span>\' ); ?>
                                        </div><!-- .entry-content -->
                                    </div><!-- #post-## -->

                                    <?php comments_template( \'\', true ); ?>

                    <?php endwhile; ?>
        </div>
我想动态检索当前页面的代码(116)。

实现这一点的代码是什么?

5 个回复
SO网友:Rarst

来自快速测试$wp_query->get_queried_object_id() 当该页设置为posts页时,应获取该页的ID。

这很可能是因为时间安排得足够晚,以便它可用,但时间安排得足够早,以便帖子的循环不会产生干扰。我会尽早(在template_redirect 钩住或围绕它)并存储在全局变量中以供以后使用。

SO网友:onetrickpony

global $wp_query;
$page_id = $wp_query->get_queried_object_id();
但是,如果您使用自定义页面发布帖子,那么您将在哪里添加此代码?

SO网友:Mike Hudson

有两种方法,这取决于您是在循环内部还是外部执行此操作。

内部:$page\\u id=$post->id;(你提到过,没有成功,所以我假设你正在尝试另一种选择,那就是……)

外部:$page\\u id=$wp\\u query->post->id;

SO网友:psycho_nude

我替换了:

$page_id = [id of post];
使用:

$page_id = $wp_query->get_queried_object_id();
为我工作!

SO网友:parvez noor

对于那些仍然没有使用此功能的人,您需要使用某种add\\u操作(您可以选择要使用的操作)。对于我的示例,无论是在插件文件夹、函数php还是其他地方,这都将返回当前页面ID,没有任何问题。

add_action(\'template_redirect\', \'showid\');

function showid(){
    global $wp_query;
    $theid = intval($wp_query->queried_object->ID);
    echo $theid;
}
祝你好运,编码愉快!

结束

相关推荐

Custom theme - pages in menu

我很高兴有机会成为这个社区的一员。最近我决定开始学习wordpress和主题构建,所以这是我在这里的第一篇帖子。我在网上阅读了一些关于如何构建自定义主题的教程。我的问题是,如何构建自定义菜单?例如,我在psd上有模板,我将其切片,然后我想将其集成到wordpress上。我支持先构建页面。那么,如何使用自定义css/xhtml构建菜单,使每个链接都指向我创建的页面?也许描述不清楚,但我想你明白我的意思。提前感谢。