我是wordpress的新手,我正在尝试创建一个简单的传递设置插件,将其添加到常规部分。一旦我点击激活,我就会看到一个白色的屏幕。我不确定我做错了什么。任何帮助将非常感激。谢谢!
function delInfoSec()
{
add_settings_section("delivery_info", "Delivery Info", "delInfoHtml", "general");
}
add_settings_field("min_del","Minimum Delivery","minDelCallBack","general","delivery_info");
register_setting("general","min_del");
add_action("admin_init","delInfoSec");
function minDelCallBack(){
echo "<h3>Enter minimum delivery</h3>";
}
function delInfoHtml(){
echo "<input type='text'>";
}
答案 0 :(得分:1)
白页表示您的插件存在一些错误。请检查日志文件,它将告诉您页码上的确切错误与行号。如果每件事看起来都很好,请检查插件支持的php版本和运行服务器的php版本。有些时候php版本不匹配也会给你白页。
BR
答案 1 :(得分:1)
两个问题。第一个提示将帮助您解决前进问题:
要在开发过程中获得有用的调试信息,您应该修改wp-config.php
文件。找到显示define('WP_DEBUG', FALSE);
的行并将其更改为define('WP_DEBUG', TRUE);
- 这将导致WordPress和PHP输出错误,以便您可以准确查看正在发生的事情。
您的代码问题是您无法在相应的挂钩之外调用其中的某些功能。除非您在“admin”中,否则它们不可用,因此您需要在admin_init
内调用它们。
这篇文章涵盖了您在完整教程中尝试做的所有内容:http://code.tutsplus.com/tutorials/the-complete-guide-to-the-wordpress-settings-api-part-2-sections-fields-and-settings--wp-24619
您的代码应修改如下:
add_action("admin_init","delInfoSec");
function delInfoSec() {
add_settings_section("delivery_info", "Delivery Info", "delInfoHtml", "general");
// To add and register your settings, do it in the "admin_init" hook
add_settings_field("min_del","Minimum Delivery","minDelCallBack","general","delivery_info");
register_setting("general", "min_del");
}
function minDelCallBack() {
echo "<h3>Enter minimum delivery</h3>";
}
function delInfoHtml() {
echo "<input type='text'>";
}