it-swarm.com.de

Kann ich den Widget-Administrator auf der Seite admin anzeigen?

Ich möchte das Menü "Darstellung -> Widgets" unter dem Textfeld in "Seiten -> Neu/Bearbeiten" anzeigen. Ist es möglich, einen Teil des Administrators an einer anderen Stelle anzuzeigen?

Wenn man einige der Antworten liest, scheint es, als würde diese Frage missverstanden. Ich suche nach einer Möglichkeit, die Widgets admin anzuzeigen auf der Seite admin-Bildschirm bearbeiten .

4
Jasper Kennis

Wenn ich es richtig verstehe, möchten Sie die Widgets anzeigen, die die Benutzeroberfläche in einer Meta-Box hinzufügen und entfernen.

Ein einfacher, ein bisschen schmutziger Weg ist die Verwendung eines Iframes:

function metaboxed_widgets_admin() {
  if ( ! current_user_can( 'edit_theme_options' ) ) return;
  add_meta_box('metaboxed_widgets', __('Widgets'), 'metaboxed_widgets_admin_cb', 'page');
}
add_action( 'add_meta_boxes', 'metaboxed_widgets_admin' );

function metaboxed_widgets_admin_cb() {
  if ( ! current_user_can( 'edit_theme_options' ) ) return;
  $format = '<div style="margin:0px;padding:0px;">';
  $format .= '<iframe src="%s" frameborder="0" %s></iframe></div>';
  // add a query arg to recognize when inside iframe, used to hide menu and admin bar
  $url = add_query_arg(
    array( 'iframe'=> wp_create_nonce('widgets') ), admin_url( 'widgets.php' )
  );
  printf( $format, $url, 'style="height:1200px;width:100%;" height="100%" width="100%"' );
}

function metaboxed_widgets_hide_stuff() {
  if ( ! is_admin() || get_current_screen()->id !== 'widgets' ) return;  
  $iframe = filter_input( INPUT_GET, 'iframe', FILTER_SANITIZE_STRING );
  if ( wp_verify_nonce( $iframe, 'widgets' ) ) {
    echo '<style>'
    . '#wpadminbar, #adminmenuback, #adminmenuwrap, #wpfooter, '
    . '#screen-meta-links, .wrap > h2 { display:none!important; }'
    . '#wpcontent { margin-left:25px!important; }'
    . '.wrap{ margin-top:0!important; }</style>';
  }
}
add_action( 'admin_head-widgets.php', 'metaboxed_widgets_hide_stuff' );

Beachten Sie, dass nur Benutzer, die Widgets sehen können, die Widget-Metabox anzeigen, z. Editoren sehen nichts, es sei denn, Sie geben ihnen die Funktion 'edit_theme_options'.

2
gmazzap

Ja, das kann sehr praktisch sein. Das "Versteck" für Widgets ist eines der am wenigsten intuitiven Designs des Wordpress-Backends, IMHO.

Sie können ein Plugin wie das Folgende verwenden: Widgets auf Seiten

Oder vielleicht ein aktuelleres wie Widgetize Pages

Oder Sie können Code selbst erstellen und an einer anderen Stelle im Administrator ablegen (z. B. im Dashboard). Ein Tutorial wie dieses sollte dabei helfen.

Oder Sie können das legendäre Advanced Custom Fields-Plugin verwenden und eines oder mehrere Ihrer eigenen optionalen/obligatorischen 'Widgets' erstellen, die jeder einzelnen Seite hinzugefügt werden können.

1
Monkey Puzzle