在管理员之外创建发布表单

时间:2011-03-03 作者:Dunhamzzz

我正在将Wordpress合并到现有系统中,并要求我们的用户能够发布到多站点WP安装。我有一个数据库表,可以将我们自己的成员链接到特定的博客ID和内容,因此就WP而言,不需要用户/登录。

我真正需要知道的是如何在WP本身之外运行某些WP函数-在一个完全不同的域infact(但相同的服务器)上。我试过简单地包括wp负载。php在我们现有的管理面板中,但一旦我这样做,它就会重定向到主站点-我假设是因为域不匹配:

域1。com和domain2。com都在同一台服务器domain1上。com是域2上的WP MU设置。com在我们自己的管理领域,我包括wp负载。php,一旦我这样做,它就会直接将我重定向到domain1的主页。com。

这样做更可取吗?我看到了一些人们直接查询WP数据库以插入帖子的例子。但如果是这样的话,我必须问自己,为什么我要在这个项目中使用WP?!我正在考虑使用WP-XMLRPC-API,但我需要更多的功能,不想真正打开它。

2 个回复
最合适的回答,由SO网友:Dunhamzzz 整理而成

好的,我已经破解了它,通过欺骗$\\u服务器变量并预定义一些常量,我能够阻止Wordpress在包含wp load后重定向。php。

define(\'WP_USE_THEMES\', false);
define( \'DOMAIN_CURRENT_SITE\', $siteRow[\'domain\'] );
define( \'PATH_CURRENT_SITE\', \'/\' );
define( \'SITE_ID_CURRENT_SITE\', 1 );
define( \'BLOG_ID_CURRENT_SITE\', $siteRow[\'wp_blog_id\'] );

$_SERVER = array(
    "HTTP_HOST" => $siteRow[\'domain\'],
    "SERVER_NAME" => $siteRow[\'domain\'],
    "REQUEST_URI" => "/",
    "REQUEST_METHOD" => "GET"
);

require_once WP_PATH.\'wp-load.php\';
switch_to_blog($siteRow[\'wp_blog_id\']);
$siteRow包含有关目标站点的详细信息。Note: 由于全局变量约束,这不能在函数内。

SO网友:Jack Godot

Hi我是一个黑客而不是程序员,我能够很快让它工作,但我认为我很幸运。

我假设“define”命令就是我的多站点仪表板中的命令,我将$\\u服务器代码添加到我的wp\\u insert\\u post脚本的顶部,它成功了。我没有使用以下选项:

define(\'WP_USE_THEMES\', false);
我使用以下选项来选择博客,虽然这是默认博客,但可能没有必要这样做:

global $switched; switch_to_blog(1);
或者我应该在脚本中加入“define”语句吗?

干杯

千斤顶

结束

相关推荐

在小部件中使用$wpdb对象

我试图制作一个非常简单的小部件,它可以访问与Wordpress数据库相同的数据库实例中包含的表,但不是Wordpress表。我正在使用wpdb class according to the codex. 我没有得到任何错误,但我也没有得到任何结果。我是否正确使用了对象?还是应该为自己的表滚动自己的访问类?以下是小部件代码:function widget ($args,$instance) { extract($args); global