Php 未使用wordpress表前缀wp_u

Php 未使用wordpress表前缀wp_u,php,wordpress,Php,Wordpress,我在网站目录下的/blog文件夹中安装了wordpress 我有一个.inc文件,可以从wordpress获取最新的博客文章,并显示在我的网站主页上 但当我通过php include将该.inc文件包含在我的网站主页中时,我会被重定向到登录页面 经过一点调试,我发现这个查询进入函数is_blog_installed() 当我回应这一点时,这就给了我这个- SELECT option_value FROM options WHERE option_name = 'siteurl' 这是选项表名为

我在网站目录下的/blog文件夹中安装了wordpress

我有一个.inc文件,可以从wordpress获取最新的博客文章,并显示在我的网站主页上

但当我通过php include将该.inc文件包含在我的网站主页中时,我会被重定向到登录页面

经过一点调试,我发现这个查询进入函数is_blog_installed()

当我回应这一点时,这就给了我这个-

SELECT option_value FROM options WHERE option_name = 'siteurl'
这是选项表名为“options”,而不是“wp_options”,这意味着wp-config.php文件中设置的表前缀未被使用

我不知道为什么会这样。所以,请帮忙

谢谢,
Anjan

您需要将wordpress环境包括到您的.inc文件中。 试一试


这可能不是最好的方法。也许您可以将脚本作为cronjob运行(使用WordPress内置的调度)来生成一个文本文件,以包含在主页上?

最后我发现这是因为我的站点和WordPress站点之间的数据库连接问题。我解决了这个问题,在建立任何站点数据库连接之前使用输出缓冲捕获wordpress内容,并在以后需要时使用捕获的wordpress html标记。

我在一个插件中遇到了类似的问题。我必须做:

$mailsign_dir = 
    substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'],$ds));
$plugins_dir = 
    substr($mailsign_dir, 0, strrpos($mailsign_dir,$ds));
$wp_content_dir = 
    substr($plugins_dir, 0, strrpos($plugins_dir,$ds));
$wordpress_dir = 
    substr($wp_content_dir, 0, strrpos($wp_content_dir,$ds));
chdir($_SERVER['DOCUMENT_ROOT'].$wordpress_dir);
require_once('wp-load.php');
这样做之后,我能够使用:

function myMethod(){
  global $wpdb;
  // use $wpdb->options here
}

要在我的方法中访问所有数据库对象属性,当您说我的站点主页时,是博客主页还是其他主页?这是不同的主页。在站点的主页中,整个博客安装在/blogs文件夹中。检查$wpdb->prefix变量,并尝试使用wp-load.phpI m使用此--define('wp\u use\u THEMES',false)//我们不需要主题require('./blog/wp blog header.php')//这将加载API
$mailsign_dir = 
    substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'],$ds));
$plugins_dir = 
    substr($mailsign_dir, 0, strrpos($mailsign_dir,$ds));
$wp_content_dir = 
    substr($plugins_dir, 0, strrpos($plugins_dir,$ds));
$wordpress_dir = 
    substr($wp_content_dir, 0, strrpos($wp_content_dir,$ds));
chdir($_SERVER['DOCUMENT_ROOT'].$wordpress_dir);
require_once('wp-load.php');
function myMethod(){
  global $wpdb;
  // use $wpdb->options here
}