将wp-admin中的数据发布到外部数据库

时间:2013-08-22 作者:Tangy

我试图制作一个私有表单,将数据提交到外部数据库中,以便以后可以从数据库中提取并在页面上显示记录。到目前为止,我一直在尝试创建一个插件,允许我在wp admin中填写表单,但当我尝试将数据发布到另一个页面以存储数据时,我得到一个“您没有足够的权限访问此页面”错误

我基本上是在尝试创建一个库存管理系统,以便在我拥有的多个网站上显示产品。

对于任何可能帮助我找到解决方案的进一步问题,我将尽快作出回应。感谢您提供的任何帮助。

下面是我在代码中尝试做的一个示例

<?php
add_action(\'admin_menu\', function() {
add_options_page(\'Add an Item\', \'Add an Item\', \'administrator\', __FILE__, function() {
?>
    <div class="wrap">
    <form action="http://some/url/additem.php" method="POST">
        <input type="text" value="nothing" />
        <input type="text" value="nothing" />
        <input type="submit" value="Send" />
    </form>
    </div>
)};

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

导入到外部DB的代码是否需要位于不同的页面上?向回调函数添加一个检查表单是否已提交的条件也可以。

然后表单将数据发布回自身,检查表单是否已提交,并运行导入脚本而不是显示表单。

这样就不会出现权限错误。

add_action(\'admin_menu\', function() {
add_options_page(\'Add an Item\', \'Add an Item\', \'administrator\', __FILE__, function() {

if(isset($_POST[\'submit\']) && $_POST[\'submit\'] == \'Send\'){
    import_items();
}else
    add_item_form();
)};

function add_item_form(){
    <div class="wrap">
    <form method="POST">
        <input type="text" value="nothing" />
        <input type="text" value="nothing" />
        <input name="submit" type="submit" value="Send" />
    </form>
    </div>
}

function import_items(){

    //Your code from http://some/url/additem.php for importing items to the external DB goes here.

}

结束

相关推荐

已安装基于域的多站点,但无法访问wp-admin(重定向循环)

我已经在我的服务器上安装了一个基于域的多站点,包括每个子域,一切都正常。这里我应该解释一下,我导入了一个位于本地Mac上的数据库,然后更改了每个站点数据库中的详细信息。然而,我现在无法访问主域或任何子域的wp admin,Chrome只是告诉我有一个重定向循环(http://cl.ly/Qg7K). 让我澄清一下,我根本无法访问wp admin,即甚至连登录页面都无法访问。我对Wordpress、数据库和服务器很有信心,所以我很可能会为您取回任何数据,并进行测试、尝试修复等。谢谢你的帮助!EDIT: 人们