2016-09-21 8 views
9

Ich möchte nur eine Shortcode-Schaltfläche zu meinem Wordpress-Menü-Menü für die Handhabung der bootstrap modal view Funktion hinzufügen.Benutzerdefinierte Shortcode in Wordpress Nav Bar

Ich versuchte 'Shortcodes in Menus' Plugin, aber es funktioniert nicht. Ich konnte kein alternatives Plugin für Shortcodes im Menü finden, also habe ich das Plugin 'Bootstrap 3 Shortcodes' installiert, es hat Button- und Modal-View-Inhalt erstellt, so wie ich es möchte. Aber ich konnte meiner Menüleiste keinen Shortcode hinzufügen.

Ich habe hart versucht, eine Antwort auf mein Problem zu finden. Aber leider nicht.

Das ist meine modale Shortcode generiert von Bootstrap 3 Shortcodes Plugin;

[modal text="Download Now" title="Veteriner Hekimlere Ulaşmanın En Kolay Yolu" xclass="btn btn-primary btn-lg"] 
<p style="text-align: center;"><img src="http://web-test.vetmapp.com/wp-content/uploads/sites/2/2016/08/vetmapp-logo-withtext.png" alt="Logo" width="200" height="300" /></p> 

<h4 style="text-align: center;">VetMapp'i cihazınıza göre aşağıdaki platformlardan cep telefonunuza ücretsiz olarak indirebilir ve hemen kullanmaya başlayabilirsiniz.</h4> 
<p style="text-align: center;"> 
    <a href="https://itunes.apple.com/tr/app/vetmapp-acil-veteriner-klinikleri/id969463902?mt=8" target="_blank"><img src="http://web-test.vetmapp.com/wp-content/uploads/sites/2/2016/09/180x40xapple-store.png.pagespeed.ic.z0I7tHw8h6.png" alt="App Store'dan indir!" width="135" height="40" /></a> 
    <a href="https://play.google.com/store/apps/details?id=com.esmobileinc.vetmapp&amp;hl=tr" 
    target="_blank"><img src="http://web-test.vetmapp.com/wp-content/uploads/sites/2/2016/09/180x40xgoogle_play.png.pagespeed.ic.31v8JAmtbI.png" alt="Google Play'den indir!" width="135" height="40" /></a> 
    <a href="https://www.microsoft.com/tr-tr/store/p/vetmapp/9nblggh4s3qm" 
    target="_blank"><img src="http://web-test.vetmapp.com/wp-content/uploads/sites/2/2016/09/180x40xwindows_phone.png.pagespeed.ic.xvoiaCiuDP.png" alt="Windows Store'dan indir!" width="135" height="40" /></a> 
</p> 
[modal-footer] [button type="primary" style="border: solid 1px #18bda3; background-color: #fff; color: #18bda3;" link="#" data="dismiss,modal"]Kapat[/button] [/modal-footer] [/modal] 

ich will nur [modal text="Download Now" title="Veteriner Hekimlere Ulaşmanın En Kolay Yolu" xclass="btn btn-primary btn-lg"] in WP Navigationsleiste verwenden.

Wie kann ich das tun? Ich kann dafür eine Funktion in functions.php schreiben oder einen anderen Ansatz ausprobieren?

Danke ...

+0

Sie möchten den Stil von der Kurzwahltaste zu den Menüpunkten? –

+0

Ich interessiere mich gerade nicht für Stil. Ich möchte nur modale Bootstrap-Ansicht über Menüleiste Element auslösen. – emresancaktar

+0

Bitte teilen Sie auch Ihr Markup, das Sie mit Ihrem Shortcode umwickeln '[modal text =" Jetzt herunterladen "title =" Veteriner Hekimlere Ulaşmanın En Kolay Yolu "xclass =" btn btn-primary btn-lg "]'? – mlbd

Antwort

0
function my_function_name($item_output) { 
    if(YOUR LOGIC FOR WHEN YOU WANT IT) 
     $item_output .= do_shortcode('[modal text="Download Now" title="Veteriner Hekimlere Ulaşmanın En Kolay Yolu" xclass="btn btn-primary btn-lg"]'); 

    return $item_output; 
} 
add_filter('wp_nav_menu', 'my_function_name', 10, 1); 
+0

Hallo, es funktioniert nicht. Warnung: Fehlendes Argument 2 für my_function_name(), aufgerufen in /opt/bitnami/apps/wordpress/htdocs/wp-includes/plugin.php in Zeile 235 und definiert in/opt/bitnami/apps/wordpress/htdocs/wp-content /themes/frexy/functions.php on line 89 – emresancaktar

+0

Ich habe die Antwort bearbeitet, versuche diese Version des Codes. – Spartacus

+0

immer noch gleichen Fehler – emresancaktar

0

Ich bin nicht sicher, was dieses Short Ergebnis liefern wird. In meiner Idee sehen Sie eine Schaltfläche, wenn Sie auf klicken, dann das Modellfenster anzeigen und die Schaltfläche im Navigationsmenü implementieren möchten. Ich habe diesen Code nicht getestet, aber Sie können versuchen, ob dies für Sie hilfreich ist.

Zuerst erstellen Sie eine neue PHP-Datei und legen Sie alle Shortcode-Inhalte dort. Ex. my-modal.php

//my-modal.php 
[modal text="Download Now" title="Veteriner Hekimlere Ulaşmanın En Kolay Yolu" xclass="btn btn-primary btn-lg"] 
<p style="text-align: center;"><img src="http://web-test.vetmapp.com/wp-content/uploads/sites/2/2016/08/vetmapp-logo-withtext.png" alt="Logo" width="200" height="300" /></p> 

<h4 style="text-align: center;">VetMapp'i cihazınıza göre aşağıdaki platformlardan cep telefonunuza ücretsiz olarak indirebilir ve hemen kullanmaya başlayabilirsiniz.</h4> 
<p style="text-align: center;"> 
    <a href="https://itunes.apple.com/tr/app/vetmapp-acil-veteriner-klinikleri/id969463902?mt=8" target="_blank"><img src="http://web-test.vetmapp.com/wp-content/uploads/sites/2/2016/09/180x40xapple-store.png.pagespeed.ic.z0I7tHw8h6.png" alt="App Store'dan indir!" width="135" height="40" /></a> 
    <a href="https://play.google.com/store/apps/details?id=com.esmobileinc.vetmapp&amp;hl=tr" 
    target="_blank"><img src="http://web-test.vetmapp.com/wp-content/uploads/sites/2/2016/09/180x40xgoogle_play.png.pagespeed.ic.31v8JAmtbI.png" alt="Google Play'den indir!" width="135" height="40" /></a> 
    <a href="https://www.microsoft.com/tr-tr/store/p/vetmapp/9nblggh4s3qm" 
    target="_blank"><img src="http://web-test.vetmapp.com/wp-content/uploads/sites/2/2016/09/180x40xwindows_phone.png.pagespeed.ic.xvoiaCiuDP.png" alt="Windows Store'dan indir!" width="135" height="40" /></a> 
</p> 
[modal-footer] [button type="primary" style="border: solid 1px #18bda3; background-color: #fff; color: #18bda3;" link="#" data="dismiss,modal"]Kapat[/button] [/modal-footer] [/modal] 

In Ihrem Thema function.php erstellen Sie eine neue Funktion und schließen Sie diese Datei ein.

function modal_shortcode_content(){ 
    ob_start(); 
    include "my-modal.php"; 
    $shortcode_content = ob_get_content(); 
    ob_clean(); 
    return do_shortcode($shortcode_content); 
} 

Fügen Sie die Shortcode-Ausgabe in den nav-Inhalt ein. Ich bin mir nicht sicher, ich denke, shortcode gibt nur Schaltfläche und andere Teil ist ausblenden und sichtbar, wenn Sie auf die Schaltfläche klicken.

function navigation_add_button_menu($item_output) { 
// apply any logic here... 
     $item_output .= modal_shortcode_content(); 

    return $item_output; 
} 

add_filter('wp_nav_menu', 'navigation_add_button_menu', 10, 1); 
2

Wenn Sie Ihren Shortcode generieren Markup teilen oder welche Markup Sie mit Ihrem Short wickeln möchten, die am besten zu anderen klar zu verstehen wäre.

trotzdem versuchen, dies wird es reibungslos funktionieren (getestet)

add_filter('wp_nav_menu_items', 'wpse3967385_custom_menu_link', 10, 2); 

function wpse3967385_custom_menu_link($items, $args) { 
    if ($args->theme_location == 'primary_nav') { 
     $items .= '<li class="your-custom-item">' . do_shortcode('[modal text="Download Now" title="Veteriner Hekimlere Ulaşmanın En Kolay Yolu" xclass="btn btn-primary btn-lg"]') . '</li>'; 
    } 
    return $items; 
} 

Fühlen Sie sich frei Ihr Menü Thema Position zu ändern.

Ich hoffe, es macht Sinn.

0

Ihr Code ist ziemlich chaotisch, ich kann Ihnen kein funktionierendes Skript geben, da es in einer anderen Sprache ist, die ich nicht verstehe, und ich möchte nichts durcheinander bringen.

Wie auch immer, versuchen Sie dies. Dies ist eine einfache Logik, um über Shortcodes zu bekommen, was Sie wollen. Ich benutze es meine Website.

function html_code() { 
    if(//Trigger Event Goes Here) { 
     // Use echo's to output the HTML of the window 
    } 
} 

function modal_window() { 
    html_code(); 

    return ob_get_clean(); 
} 

add_shortcode('modal_window');