2016-09-21 18 views
9

Po prostu chcę dodać przycisk skrótu do paska menu motywu wordpress, aby obsłużyć funkcję bootstrap modal view.Niestandardowy kod skrótu w pasku nawigacyjnym Wordpress

Próbowałem wtyczki "Shortcodes in Menus", ale to nie działa. Nie mogłem znaleźć alternatywnej wtyczki dla skrótów w menu, więc zainstalowałem wtyczkę "Bootstrap 3 Shortcodes", utworzyłem przycisk i modalną zawartość widoku, gdy chcę. Ale nie mogłem dodać skrótu do mojego paska menu.

Starałem się znaleźć odpowiedź na mój problem. Ale niestety nie mógł.

Thats my modal shortcode generowany przez 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] 

prostu chcę używać [modal text="Download Now" title="Veteriner Hekimlere Ulaşmanın En Kolay Yolu" xclass="btn btn-primary btn-lg"] do WP paska nawigacyjnego.

Jak mogę to zrobić? Mogę napisać funkcję w functions.php dla tego, lub spróbować innego podejścia?

Dziękuję ...

+0

Chcesz, aby styl był wyświetlany od przycisku skrótu do pozycji menu? –

+0

Nie obchodzi mnie już styl. Chcę tylko uruchomić widok modalny bootstrapu za pomocą elementu paska menu. – emresancaktar

+0

Czy udostępniłeś również swój znacznik, który owijasz swoim shortcode '[modal text =" Pobierz teraz "title =" Veteriner Hekimlere Ulaşmanın En Kolay Yolu "xclass =" btn btn-primary btn-lg "]'? – mlbd

Odpowiedz

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

cześć, to nie działa. Ostrzeżenie: Brak argumentu 2 dla funkcji my_function_name(), wywoływanej w /opt/bitnami/apps/wordpress/htdocs/wp-includes/plugin.php na linii 235 i zdefiniowanej w/opt/bitnami/apps/wordpress/htdocs/wp-content /themes/frexy/functions.php on line 89 – emresancaktar

+0

Edytowałem odpowiedź, wypróbuję tę wersję kodu. – Spartacus

+0

wciąż ten sam błąd – emresancaktar

0

jestem nie pewny co jest wynikiem świadczenia tej shortcode. W moim zamyśle możesz zobaczyć przycisk po kliknięciu, a następnie wyświetleniu okna modelu i chcesz zaimplementować przycisk w menu nawigacyjnym. Nie testowałem tych kodów, ale możesz spróbować, jeśli to ci pomoże.

Najpierw utwórz nowy plik php i umieść tam całą zawartość shortcode. Przykł. 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] 

W swoim temacie function.php utwórz nową funkcję i dołącz ten plik.

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

Dodaj wyjście shortcode do zawartości nav. Nie jestem pewien, myślę, że shortcode daje tylko przycisk, a inna część jest ukryta i widoczna po kliknięciu przycisku.

2

Jeśli udostępniasz swój kod krótki, generuj znaczniki lub znaczniki, które chcesz zawrzeć w swoim skróconym kodzie, najlepiej byłoby, gdyby inni jasno zrozumieli.

mimo to spróbować to będzie działać płynnie (Testowane)

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; 
} 

Zapraszam do zmiany położenia menu tematycznego.

Mam nadzieję, że to ma sens.

0

Twój kod jest dość brudny, nie mogę dać ci działającego scenariusza, ponieważ jest on w innym języku, którego nie rozumiem, i nie chcę coś zepsuć.

W każdym razie, spróbuj tego. Jest to prosta logika, aby uzyskać to, co chcesz, za pomocą shortcodes. Używam go na mojej stronie internetowej.

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');