自定义wordpress页面

自定义wordpress页面,wordpress,Wordpress,我想在wordpress中实现一个自定义的帖子检索页面。基本上,我使用AJAX调用这个页面,该页面将被传递一个post ID,并从该post中检索某些数据 注意:请不要误以为这是一个模板问题。我不想要一个单一页面的模板——我希望让这个页面根据postID查询多个不同的帖子,并从该帖子返回某些数据 所以我试着创建一个页面 <?php $args=array( 'p'=>'77' ); $friends = new WP_Query($args); ?>

我想在wordpress中实现一个自定义的帖子检索页面。基本上,我使用AJAX调用这个页面,该页面将被传递一个post ID,并从该post中检索某些数据

注意:请不要误以为这是一个模板问题。我不想要一个单一页面的模板——我希望让这个页面根据postID查询多个不同的帖子,并从该帖子返回某些数据

所以我试着创建一个页面

<?php
$args=array(
       'p'=>'77'
    );
    $friends = new WP_Query($args);
?>
<?php if ($friends->have_posts()) : the_post(); ?>

    <?php the_title(); ?>
    <?php the_content(); ?>

<?php else: ?>
    <p>Sorry, no posts are available.</p>
<?php endif; ?>

对不起,没有可用的帖子

但这不起作用,因为它没有加载到wp函数中来处理查询


提前感谢您的帮助

您必须包含wp-blog-header.php文件。如果您正在创建的页面位于主题文件夹中,那么您应该在代码的顶部放置类似的内容


我想我猜到了你想做什么,听起来你做得不对。不要在管理界面中创建“新页面”。您要做的是向您的Javascript提供一个文件(JSON、XHTML片段等等),并在其中包含WP数据,对吗?我知道这个问题,在我的一些插件中使用过它

有两种方法:

(1)这就是你需要做的:制作一个新插件(只是wp插件中的一个松散的php文件,其格式头与其他插件相同)。按照以下内容编写函数:

function mydatapage(){
    if (...$_SERVER['REQUEST_URI'] == the one I am using ...) {
        $args=array(
            'p'=>'77'
        );
        $friends = new WP_Query($args);
        if ($friends->have_posts()) :
            the_post();
            the_title();
            the_content();
        else:>?
<p>Sorry, no posts are available.</p>
        <?php endif;
        die();
    } //else do nothing and leave WP to serve the page normally
}
//Crucially:
add_action('init', 'mydatapage');
函数mydatapage(){
如果(…$\u服务器['REQUEST\u URI']==我正在使用的服务器…){
$args=数组(
‘p’=>‘77’
);
$friends=新的WP\u查询($args);
如果($friends->have_posts()):
_post();
_title();
_内容();
其他:>?
对不起,没有可用的帖子