it-swarm.com.de

Fügen Sie im Admin-Menü/in der Seitenleiste einen Menü-Link (zu einer Wordpress-Seite) hinzu

Ich versuche, in der Admin-Seitenleiste einen Link hinzuzufügen, der auf eine der Seiten verweist, die ich im Abschnitt SEITEN erstellt habe. Ich habe zum Beispiel eine ABOUT-Seite erstellt. Also möchte ich in der Seitenleiste einen Link zu "Über", der diesen Link lädt: post.php?post=7&action=edit

Warum? Ich versuche dies zu tun, weil ich an einer Website mit 4 benutzerdefinierten Beitragstypen und 3 Seiten arbeite. Die benutzerdefinierten Beitragstypen haben Admin-Menü-Links. Ich denke, es wäre eine bessere Benutzererfahrung, wenn die 3 Seiten auch direkte Links in der Seitenleiste hätten, anstatt auf SEITEN zu klicken und dann die Liste der 3 Seiten anzuzeigen und auf "" klicken zu müssen. BEARBEITEN "(und dann würde ich den Link im Abschnitt SEITEN im Admin-Menü ausblenden).

Ich war auf dem Weg dorthin, aber es scheint nicht das zu sein, was ich will/brauche (ich kann nicht erreichen, dass es zu dem Link führt, zu dem ich will): http://codex.wordpress.org/Administration_Menus#Inserting_the_Pages

1
codeview

Zum dynamischen Hinzufügen von Menüelementen können Sie WP_Query verwenden, insbesondere get_posts oder get_pages. Seiten abrufen ist konsistenter. Im Folgenden finden Sie ein Beispiel zum Hinzufügen aller Seiten zum Menü "Seitenverwaltung". Sie können die Parameter in den unten stehenden $ args so ändern, dass sie ausgeschlossen, eingeschlossen, sortiert usw. werden. Um zu einem benutzerdefinierten Beitragstyp zu wechseln, ändern Sie einfach $ custom variable in den Namen Ihres Beitragstyps.

/*-----------------------------------------------------------------------------------*/
/* All Pages Dropdown List */
/*-----------------------------------------------------------------------------------*/

if ( !function_exists( 'admin_menu_links_to_all_edit_post_type_custom' ) ) {
function admin_menu_links_to_all_edit_post_type_custom() {
    if ( !is_admin() ) // Only Run if On Admin Pages
        return;

     $custom = 'page';  // Change this to your custom post type slug ( So for "http://www.example.com/wp-admin/edit.php?post_type=recipes" you would change this to 'recipes'  )



      // Full List of Paramaters - http://codex.wordpress.org/Template_Tags/get_posts
      $args = array(
          'orderby'          => 'modified', //Orderr by date , title , modified, etc
          'order'            => 'DESC', // Show most recently edited on top
          'post_type'        => $custom, // Post Type Slug
          'numberposts'      => -1,  // Number of Posts to Show (Use -1 to Show All)
          'post_status'      => array('publish', 'pending', 'draft', 'future', 'private', 'inherit'),
      );
      $types = get_posts( $args ); // Get All Pages
      foreach ($types as $post_type) {
      add_submenu_page( // add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function );
          'edit.php?post_type='.$custom
        , esc_attr(ucwords($post_type->post_title)) // Get title, remove bad characters, and uppercase it
        , esc_attr(ucwords($post_type->post_title)) // Get title, remove bad characters, and uppercase it
        , 'edit_posts' // Require Edit Post/Page/Custom Capability
        , 'post.php?post=' . $post_type->ID . '&action=edit' // Get the page link by its id
        , '' // No function callback
      );    
      }
      wp_reset_postdata();
}
add_action('admin_menu', 'admin_menu_links_to_all_edit_post_type_custom');
}

if ( !function_exists( 'admin_menu_links_to_all_edit_post_type_custom_css' ) ) {
    function admin_menu_links_to_all_edit_post_type_custom_css() {
?>
<style type="text/css">
ul#adminmenu li.wp-has-submenu > ul.wp-submenu.wp-submenu-wrap {
max-height: 700px;
overflow-x: scroll;
}
</style>
<?php
   }
    add_action('admin_head', 'admin_menu_links_to_all_edit_post_type_custom_css');
}

Oder einfach einzeln hinzufügen:

/*-----------------------------------------------------------------------------------*/
/* Single URL Submenu */
/*-----------------------------------------------------------------------------------*/

if ( !function_exists( 'single_submenu_dropdown_link_example' ) ) {
function single_submenu_dropdown_link_example() {
    global $submenu;
    $link_to_add = 'post.php?post=7&action=edit';
    // change edit.php to the top level menu you want to add it to 
    $submenu['edit.php'][] = array('About', 'edit_posts', $link_to_add);
}
add_action('admin_menu', 'single_submenu_dropdown_link_example');
}

Dies wird Toplevel Admin-Menüs zu Ihren anderen Seiten hinzufügen:

/*-----------------------------------------------------------------------------------*/
/* Toplevel Page Menus */
/*-----------------------------------------------------------------------------------*/

if ( ! function_exists( 'toplevel_admin_menu_pages' ) ) {
function toplevel_admin_menu_pages(){
if ( !current_user_can('administrator') ) {  // If the user is not the administrator remove and add new menus
    remove_menu_page( 'index.php' );                  //Dashboard
    remove_menu_page( 'edit.php' );                   //Posts
    remove_menu_page( 'upload.php' );                 //Media
    remove_menu_page( 'edit.php?post_type=page' );    //Pages
    remove_menu_page( 'edit-comments.php' );          //Comments
    remove_menu_page( 'themes.php' );                 //Appearance
    remove_menu_page( 'plugins.php' );                //Plugins
    remove_menu_page( 'users.php' );                  //Users
    remove_menu_page( 'tools.php' );                  //Tools
    remove_menu_page( 'options-general.php' );        //Settings
    add_menu_page( 'Home', 'Home', 'edit_posts', 'post.php?post=39&action=edit', '', 'dashicons-admin-home', 6 );
    add_menu_page( 'About', 'About', 'edit_posts', 'post.php?post=15&action=edit', '', 'dashicons-editor-help', 7 );
    add_menu_page( 'Services', 'Services', 'edit_posts', 'post.php?post=24&action=edit', '', 'dashicons-admin-tools', 8 );
    }
  }
add_action( 'admin_menu', 'toplevel_admin_menu_pages' );
}
3
Bryan Willis
if ( !function_exists( 'wp_toolbar_frontend_admin_menu_links_extras' ) ) {

function wp_toolbar_frontend_admin_menu_links_extras($wp_admin_bar) {   
    if ( is_admin() || !is_admin_bar_showing() )
          return;

   if ( !current_user_can('edit_pages') ) 
        return;

    $wp_admin_bar->add_node(array(
        'id' => 'homepage',
        'title' => 'Home',
        'href' => admin_url() . 'post.php?post=39&action=edit' ,
        'parent' => 'site-name',
        'meta' => array(
            'class' => 'homepage'
        )
    ));

    $wp_admin_bar->add_node(array(
        'id' => 'aboutus',
        'title' => 'About',
        'href' => admin_url() . 'post.php?post=36&action=edit' ,
        'parent' => 'site-name',
        'meta' => array(
            'class' => 'aboutus'
        )
    ));

    $wp_admin_bar->add_node(array(
        'id' => 'services',
        'title' => 'Services',
        'href' => admin_url(). 'post.php?post=32&action=edit' ,
        'parent' => 'site-name',
        'meta' => array(
            'class' => 'services'
        )
    ));
}

    add_action('admin_bar_menu', 'wp_toolbar_frontend_admin_menu_links_extras', 99);

}
0
Bryan Willis