6

コードでそれらを配置できる管理メニューセパレーターを作成しようとしています。これは機能です:

function add_admin_menu_separator($position) {
  global $menu;
  $index = 0;
  foreach($menu as $offset => $section) {
    if (substr($section[2],0,9)=='separator')
    $index++;
    if ($offset>=$position) {
      $menu[$position] = array('','read',"separator{$index}",'','wp-menu-separator');
      break;
    }
  }
  ksort( $menu );
}

追加アクション ビットは以下のとおりです

add_action('admin_init','admin_menu_separator');
    
function admin_menu_separator() {
  add_admin_menu_separator(220);
}

正常に動作しますが、メニューを再配置するときに WordPress で次のエラーが発生します。

> Warning: Invalid argument supplied for foreach() in /home/user/public_html/wp-creation.com/wp-content/themes/liquid_theme_0.4_licensed/functions.php on line 174
    
> Warning: ksort() expects parameter 1 to be array, null given in /home/user/public_html/wp-creation.com/wp-content/themes/liquid_theme_0.4_licensed/functions.php on line 182
4

2 に答える 2

1

これを functions.php に追加するだけです。

add_action('admin_menu', function () {   
  global $menu;
  $menu[49] = ['', 'read', '', '', 'wp-menu-separator'];
});

49 は区切り位置です。同じ位置にある場合、区切り位置がメニュー要素を置き換える可能性があることを覚えておく必要があります。

于 2020-08-07T06:45:35.360 に答える