2017-06-08 4 views
1

Ich möchte meinem Wordpress Admin-Menü zwei weitere Untermenüpunkte hinzufügen. Das Menü der obersten Ebene, in das ich mich einklinken möchte, ist das von WooCommerce erstellte Menü "Produkte".Weiterleiten an gefilterte Seiten aus Wordpress Admin Untermenüs

Der Inhalt Ich möchte, dass die Menüelemente angezeigt werden, indem Sie die Produkte nach Produktkategorie filtern. Z.B.

http://dev3.benefacto.org/wp-admin/edit.php?s&post_type=product&product_cat=manchester 

Ich habe mit einer Arbeitslösung (siehe unten) kommen, dies zu tun - aber es ist unelegant, weil es eine Funktion aufrufen erfordert, wenn ich wie das Gefühl, sollte ich in der Lage sein, etwas in das ‚Menü Slug einfach hinzufügen 'Variable vielleicht.

Alle Gedanken sehr geschätzt.

// Hook into the Admin Menu 

add_action('admin_menu', 'lnz_wp_adminmenu_addproductpages'); 

// Add Product Categories 
function lnz_wp_adminmenu_addproductpages() { 
add_submenu_page('edit.php?post_type=product', 'Manchester Charities - Page', 'Manchester Charities- Menu', 'manage_options', 'product_cat_manchester', 'lnz_wp_adminmenu_redirectmanchester'); 
add_submenu_page('edit.php?post_type=product', 'London Charities - Page', 'London Charities- Menu', 'manage_options', 'product_cat_london', 'lnz_wp_adminmenu_redirectlondon'); 
} 

// Create Redirects for relevant links 
function lnz_wp_adminmenu_redirectmanchester() { 
    header('Location: http://dev3.benefacto.org/wp-admin/edit.php?s&post_type=product&product_cat=manchester'); 
    exit(); 
} 

function lnz_wp_adminmenu_redirectlondon() { 
    header('Location: http://dev3.benefacto.org/wp-admin/edit.php?s&post_type=product&product_cat=london'); 
    exit(); 
} 

Antwort

1

Soweit ich weiß, gibt es keine direkte Möglichkeit, diese mit WP Haken zu erreichen oder wie global $submenu etwas modifizieren ...

Es kann mit jQuery Modifizieren des href Attribut der Menüpunkte durchgeführt werden:

add_action('admin_menu', function() { 
    add_submenu_page('edit.php?post_type=product', 'Manchester', 'Manchester', 'manage_options', 'cat_manchester', '__return_null'); 
    add_submenu_page('edit.php?post_type=product', 'London', 'London', 'manage_options', 'cat_london', '__return_null'); 
}); 

add_action('admin_footer', function(){ 
    ?> 
    <script> 
     jQuery(document).ready(function($) { 
      var admin_url = 'http://dev3.benefacto.org/wp-admin/edit.php'; 
      $('#menu-posts-product').find('a[href*="cat_manchester"]').attr('href',admin_url+'?s&post_type=product&product_cat=manchester'); 
      $('#menu-posts-product').find('a[href*="cat_london"]').attr('href',admin_url+'?s&post_type=product&product_cat=london'); 
     }); 
    </script> 
    <?php 
}); 
+0

Vielen Dank. Ich werde es morgen drehen und zurück verweisen, um zu sehen, wie es funktioniert! –

Verwandte Themen