如何在自定义仪表板小部件中显示WordPress管理菜单?

如何在自定义仪表板小部件中显示WordPress管理菜单?,wordpress,codex,Wordpress,Codex,我想在自定义仪表板小部件中显示WordPress管理菜单。如何操作?首先:您应该创建一个仪表板小部件。您可以在此处阅读有关如何执行此操作的更多信息: 现在,为了显示菜单,您应该看看这篇文章: 祝你好运 或者只需将此测试解决方案粘贴到theme functions.php中并修改即可。然后,无论您需要什么,都可以通过get_option()调用您的管理员设置 使用b__;的输入进行纠正,并再次测试 function register_mysettings() { register_set

我想在自定义仪表板小部件中显示WordPress管理菜单。如何操作?

首先:您应该创建一个仪表板小部件。您可以在此处阅读有关如何执行此操作的更多信息:

现在,为了显示菜单,您应该看看这篇文章:


祝你好运

或者只需将此测试解决方案粘贴到theme functions.php中并修改即可。然后,无论您需要什么,都可以通过get_option()调用您的管理员设置
使用b__;的输入进行纠正,并再次测试

function register_mysettings() {
   register_setting( 'michal-option-group', 'new_option_name' );
   register_setting( 'michal-option-group', 'some_other_option' );
}
add_action( 'admin_init', 'register_mysettings' );

function add_michal_dashboard_widget(){
 wp_add_dashboard_widget(
         'michal_dashboard_widget',         // slug.
         'Michal Dashboard Widget',         // title
         'michal_dashboard_widget_function' // widget code
         );  
}

function michal_dashboard_widget_function(){
   if (isset($_POST['new_option_name'])) update_option( 'new_option_name',   sanitize_text_field( $_POST['new_option_name'])); 
   if (isset($_POST['some_other_option'])) update_option( 'some_other_option', sanitize_text_field( $_POST['some_other_option'])); 
?> 

 <form method="post" action="<?php $_SERVER['PHP_SELF'] ?>">
 <?php settings_fields( 'michal-option-group' ); ?>
 <?php do_settings_sections( 'michal-option-group' ); ?>
 <table class="form-table">
    <tr valign="top">
    <th scope="row">New Option Name</th>
    <td><input type="text" name="new_option_name" value="<?php echo get_option('new_option_name'); ?>" /></td>
    </tr>

<tr valign="top">
<th scope="row">Some Other Option</th>
<td><input type="text" name="some_other_option" value="<?php echo get_option('some_other_option'); ?>" /></td>
 </tr>
</table>

<?php submit_button(); ?>
</form>
<?php       
} 

add_action( 'wp_dashboard_setup', 'add_michal_dashboard_widget' );
函数寄存器\u mysettings(){
寄存器设置('michal option group','new_option_name');
寄存器设置(“michal选项组”、“某些其他选项”);
}
添加操作('admin_init','register_mysettings');
函数add_michal_dashboard_widget(){
wp_添加_仪表板_小部件(
“michal_仪表板_小部件”,//slug。
“Michal Dashboard Widget”,//标题
“michal\u仪表板\u小部件\u函数”//小部件代码
);  
}
函数michal_仪表板_小部件_函数(){
如果(设置($发布['new\u option\u name'))更新选项('new\u option\u name',清理文本字段($发布['new\u option\u name'));
如果(设置($_POST['some_other_option'])更新_option('some_other_option',清理_text_字段($_POST['some_other_option']);
?> 

函数内部的函数不是一个好主意…
admin\u init
并且它的回调应该在
michal\u dashboard\u widget\u function
之外。而且,
admin\u init
只在admin中运行,我们不需要检查
is\u admin()
。有时我试图快速而愚蠢地出错。谢谢__