试图制作一个简单的WordPress插件,但在理解如何制作时遇到了困难?

时间:2015-05-26 作者:Jesse J.

我目前正在尝试为客户端开发一个简单的wordpress插件,但我对wordpress的API和插件有多复杂的问题。

迄今为止的代码:

            add_action(\'admin_menu\',\'pagePluginMenu\');

            function pagePluginMenu() {

                $appName = \'Page Rebrander\';
                $appID = \'page-rebrander\';
                add_menu_page($appName,$appName, \'administrator\', $appID . \'-top-level\', \'pluginAdminScreen\');
            }

            function pluginAdminScreen() {
                $data = \'<textarea rows="50" cols="100">.......... Text text #YOURSITE.COM# text Text .......... #COMPANY&ADDRESS#\';

                echo\'<form><p>#YOURSITE.COM#\\\'s (ie, YourSite.com)</p>\';
                echo\'<input type="text" name="Website" id="Website" value="#YOURSITE.COM#">\';
                echo\'<p>Company Name & Address</p>\';
                echo\'<textarea rows="4" cols="50" name="Address" id="Address">Your Company Name
            & Address Go Here
            </textarea><br/><br/>\';

                if($_POST[\'Rebrand\']) {
                    str_replace(\'#YOURSITE.COM#\',$_GET[\'Website\'],$data);
                    str_replace(\'#COMPANY&ADDRESS#\',$_GET[\'Address\'],$data);
                    echo $data;
                } else {
                    echo $data;
                }
            echo\'<br/><br/><input type="submit" value="Rebrand"></form>\';
            }
我目前正在尝试制作一个简单的页面。页面显示得很好(我对PHP非常熟练,所以我正在尽可能多地使用它,尤其是因为我不需要wordpress数据来保存或做任何事情)。

我想要它做的就是获取一个页面的数据($数据),并替换其中的两部分,即#YOURSITE。COM#和#公司&;地址#。

它从一个人输入信息的两个字段中获取数据,即网站(他们在其中输入自己的网站地址(如Your Site.com))和地址(他们在其中输入自己的企业名称和地址)。

用户只需单击“重新命名”,即可将文本替换为用户所输入的内容,使用户可以更快地完成操作。

然而,它一直告诉我我没有访问管理员的权限。当我单击“重新命名”按钮时,php什么的都没有。我相信这与我在Wordpress中使用表单作为插件这一事实有关,但这很容易,我不需要很多功能,只需简单地替换数据并向用户显示即可。

我做错什么了吗?我很难理解wordpress的结构,我已经习惯了PHP,我个人觉得它是多么简单。我可以在几分钟内用PHP完成这项工作,但不能用wordpress,不过我想让它成为wordpress插件。

提前感谢!

PS:对不起,这个网站不允许我使用适当的标签。

编辑:他们可能是在代码中的某个地方输入错误,因为我从最初的代码中减少了代码,以减少这篇文章的混乱。

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

表单当前尝试执行的操作有两个问题:

  1. action="page-rebrander.php" 对WP来说是没有意义的(如果你真的有这样的自定义文件-你不应该)。在WP mechanics中,您通常应该将表单提交到页面本身,options.php (对于设置API),或admin-post.php (对于更通用的表单)。

    您试图通过GET请求传递数据,但实际上WP认为URL中的任何内容都是您想要的。大多数时候,您应该坚持使用POST传递数据。

结束

相关推荐

使用子主题的函数向主题添加自定义函数。php

我正在使用一个主题Indigo 并使其在子主题配置中正常工作。我想添加一个自定义函数。与子样式不同。css,我读到您不需要导入父函数。php。但是,当我将自己的函数添加到空白文件时,函数。php在子主题文件夹中,我的页面无法正确加载,并且我看到了子函数中的文本。php。我在这里看到的解决方案要求父功能。php具有可以重写的函数。我的选择是什么?我想要我的定制,但我不想通过主题更新来阻止它们。这就是我想顺道拜访的。。。/** * Disable admin bar on the frontend