Ner*_*nux 2 wordpress wordpress-theming
ERROR: options page not found.我正在开发一个 WordPress 插件,但当我尝试保存更改时,我不断收到错误消息。这是我的设置的页面代码:https://pastebin.com/AsfcqHhe
我已经尝试了很多修复方法,但没有一个有效。
您订购字段和部分的方式是错误的,请参阅下面经过测试并作为独立插件使用的代码。在您这边测试它,然后在您的主插件逻辑中实现它是否有效。
<?php
/**
* Plugin Name: Example Settings
* Description: Example Settings
* Version: 1.0
**/
class Member_Only {
/* Create blank array */
public function __construct() {
//$this = [];
// Hook into the admin menu
add_action( 'admin_menu', array( $this, 'settings_page' ) );
add_action( 'admin_init', array( $this, 'setup_init' ) );
}
public function settings_page() {
//Create the menu item and page
$parent_slug = "member_only_fields";
$page_title = "Member Only Content Settings Page";
$menu_title = "Member Only Content";
$capability = "manage_options";
$slug = "member_only_fields";
$callback = array( $this, 'settings_page_content' );
add_submenu_page( "options-general.php", $page_title, $menu_title, $capability, $slug, $callback );
}
/* Create the page*/
public function settings_page_content() { ?>
<div class="wrap">
<h2> Member Only Content </h2>
<form method="post" action="options.php">
<?php
settings_fields("member_only_fields");
do_settings_sections("member_only_fields");
submit_button();
?>
</form>
<?php }
/* Setup section_callback */
public function section_callback( $arguments ) {
/* Set up input*/
switch( $arguments['id'] ){
case "categories" :
echo "Categories that will trigger the member only message.";
break;
case "loginURL":
echo "The login URL of your site. ";
break;
}
}
public function setup_init() {
register_setting("member_only_fields", "categories");
add_settings_section("categories", "Member Only Categories: ", array($this, 'section_callback'), "member_only_fields");
add_settings_field( 'categories', 'Categories: ', array( $this, 'field_callback' ), 'member_only_fields', 'categories' );
add_settings_section("loginURL", "Login URL: ", array($this, 'section_callback'), "member_only_fields");
}
/* Create input fields*/
public function field_callback ( $arguments ) {
echo "<input name=\"categories\" id=\"categories\" type=\"text\" value=\"" .get_option("categories"). "\"\>";
}
}
new Member_Only();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5468 次 |
| 最近记录: |