Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我不能从php脚本查询wordpress数据库?_Php_Wordpress - Fatal编程技术网

为什么我不能从php脚本查询wordpress数据库?

为什么我不能从php脚本查询wordpress数据库?,php,wordpress,Php,Wordpress,我也在Wordpress论坛上发布了这篇文章: 但是没有人回答,所以我想我也应该试试 我将展示我所使用的全部代码,但归根结底,我如何从wordpress数据库中获取帖子的内容,并用该内容替换HTML的内容 在页面加载时,我使用php为相应的图像生成post ID,即: onmousedown=javascript:getDescription onmousedown调用一个javascript,该javascript将我要查询的帖子的值传递给一个php文件,即: `<script type

我也在Wordpress论坛上发布了这篇文章: 但是没有人回答,所以我想我也应该试试

我将展示我所使用的全部代码,但归根结底,我如何从wordpress数据库中获取帖子的内容,并用该内容替换HTML的内容

在页面加载时,我使用php为相应的图像生成post ID,即: onmousedown=javascript:getDescription

onmousedown调用一个javascript,该javascript将我要查询的帖子的值传递给一个php文件,即:

`<script type="text/javascript">
function getDescription(for_id) {
    $.ajax({
        type: 'GET',
        url: "<?php bloginfo('template_url');/>/assets/includes/get-description.php?id=" + for_id,
        success: function(data, textStatus, jqXHR){
            $('#textdescription').html(data);
        }
    });
}
</script>`
php文件get-description.php应该执行查询并返回post内容,然后javascript使用该内容更新内容:

`<p><?php
$contentVar = $_GET['id'];
$post = get_post($contentVar);
$content = $post->post_content;
echo $title;
?></p>`
所以,这一切都经过测试并正常工作,除了应该执行数据库查询的php文件——我无法让它在查询时返回任何内容。我可以返回其他内容,包括我收到的帖子id,因此我知道所有管道都已连接并正常工作


我不是一个非常老练的程序员,所以这可能是我缺少的一些非常简单和基本的东西。但如果你能帮我弄清楚,我会非常感激的。谢谢

您是否尝试过在PHP文件中包含必要的WordPress标题,以便调用以获取帖子

尝试在get-description.php文件的顶部打上这个标签

标题应该包含在任何函数之外的全局范围内,否则您可能会遇到WordPress认为它尚未配置/安装的一些问题


您还可以尝试按照此处的说明进行操作:

考虑将get-description.php代码作为插件的一部分,然后查看有关如何使其正常工作的分步说明。具体地说,面向查看器的Ajax和“wp_Ajax_my_action”,在您的例子中可能是“wp_Ajax_get_description”


快速更新:请记住,get_post调用会通过所有标准过滤器,因此您还应该快速检查是否有其他插件影响调用。

您是否收到任何错误消息?如果get_post函数在wordpress构造之外工作,我会感到惊讶。我会得到500个内部服务器错误。但我对我所掌握的工具不够了解,无法更详细地确定这一点……:我觉得应该是这样的——php文件中的后期检索代码是直接从codex中提取出来的,所以显然我需要做一些事情来告诉它如何处理这些命令。但是我尝试了./wp-blog-header.php,其中包含的文件根本不会返回任何内容。是的,我认为更好的解决方案可能是根本不使用ajax,而是在按下链接时加载实际页面。我本来打算对我正在使用的主题进行最小程度的定制,但我认为这样做会更好。但我想知道今后如何做到这一点。
<?php require_once ('path/to/wordpress/wp-blog-header.php');?>