.load Wordpress帖子调用未定义的函数query_posts()

时间:2015-12-31 03:18:07

标签: javascript php jquery css wordpress

的index.php:

<div id="MainContainer">

<div id="Content">
lalalala content
</div>

<input type="submit" value="Select" id="Load_PrivacyPolicy">
</div>

<div id="Content2" style="display:none;"></div>

的header.php

<script type="text/javascript">
$(document).ready( function() {
 $("#Load_PrivacyPolicy").on("click", function() {
    $("#Content").hide();
    $("#Content2").show( );
    $("#Content2").load( "http://www.prismasites.com/wp-content/themes/Prismasites/PricingDisclaimer.php");
 });
});
</script>

PricingDisclaimer.php

<?php header('Access-Control-Allow-Origin: *'); ?>

<?php query_posts('p=1272' ); ?>
<?php if (have_posts()); ?>
<?php while ( have_posts() ) : the_post();?>
<?php
echo the_content();
endwhile; ?>

错误:

Fatal error: Call to undefined function query_posts() in /srv/disk12/1806831/www/prismasites.com/wp-content/themes/Prismasites/PricingDisclaimer.php on line 5

我收到此错误,因为我尝试使用query_posts

为什么它不允许我使用query_posts?

你是认真的吗?

您是否告诉我无法将Wordpress帖子加载到加载到DIV文件的.php文件中?

如何将wordpress帖子(query_posts)加载到加载到DIV的.php中?

1 个答案:

答案 0 :(得分:1)

在PricingDisclaimer.php的顶部包含以下行(如果您需要使用WordPress功能,则需要包含标题)。

<?php require_once('../../../wp-blog-header.php'); ?>

从PricingDisclaimer.php中删除header('Access-Control-Allow-Origin: *');这一行。

将您的jQuery代码更新为以下内容,

$(document).ready(function() {
    $("#Load_PrivacyPolicy").on("click", function() {
        $("#Content").hide();
        $("#Content2").show();
        $.ajax({
            url: '/wp-content/themes/Prismasites/PricingDisclaimer.php',
            method: 'get',
            datatype: 'html',
            success: function(data) {
                $("#Content2").html(data);
            },
            error: function(jqXHR, status, error) {
                // Error handling
            }

        });
    });
});

注意:This是在WordPress中执行Ajax调用的正确方法。