• Resolved Zofster

    (@zofster)


    U posebnom slucaju potrebno mi je da uklonim transliterator selektor iz menija, a da njegovu funkciju odradim programski, u zavisnosti da li je trazeni uslov zadovoljen.
    Dakle ekvivalent klika na selektor, ali iz php koda koji bih dodao u functions.php.

    Da li je ovo izvodljivo i kako da to uradim?

Viewing 3 replies - 1 through 3 (of 3 total)
  • Plugin Author Ivijan-Stefan Stipic

    (@ivijanstefan)

    Pozdrav,

    Ovo je malo specifi?an zahtev. Ti treba?:

    • Prikupiti sve page ID u kojima ne ?eli? da prika?e? selektor i definisati u neki array
    • Prona?i trenutni page ID i uporediti sa tom listom
    • Prona?i po nazivu ili menu item ID selektor i ukloniti ga

    To bi kroz algoritam izgledalo ovako:

    add_filter('wp_nav_menu_objects', function ($sorted_menu_objects, $args) {
    	// pogledaj trenutnu stranicu
    	global $post;
    	
    	// svi page ID koje ?eli? da filtrira?
    	$remove_from_pages = [123,456,789]; // koristi inted?ere za ID
    
    	// ne filtriraj sve dok ne prona?e? ?to ti treba
    	if(!in_array($page->ID, $remove_from_pages, true))
    		return $sorted_menu_objects;
    
        // potra?i odgovaraju?i meni da bi uklonio stavku iz menija
        // ovde proveravamo lokaciju teme za 'main-menu' (mora? definisati precizno)
        if ($args->theme_location != 'main-menu')  
            return $sorted_menu_objects;
    
        // ukloni stavku iz menija koja ima naslove 'Latinica' i '?ирилица' (ovo varira od toga kako si je definisao)
        foreach ($sorted_menu_objects as $key => $menu_object) {
    
            // Ovde tako?e mo?e? da proveri? URL stranica $menu_object->url za primer
            // pogledaj sva pode?avanja koriste?i:
            // print_r($menu_object); die();
            if (in_array($menu_object->title, ['Latinica', '?ирилица'])) {
                unset($sorted_menu_objects[$key]);
                break;
            }
        }
    
        return $sorted_menu_objects;
    }, 10, 2);

    Ovo nije testirano od moje strane jer sam napisao napamet ali je hook pristup ispravan. Mora?e? se poigrati. Verujem da ?e ti raditi ako samo izmeni? po svojoj temi.

    Thread Starter Zofster

    (@zofster)

    Hvala za predlog, nisam stigao odmah da pogledam.
    Vidim da nije jednostavno, a i ne odgovara mi ovakav nacin.

    Da li postoji nacin da programski pokrenem transliteraciju (u zavisnosti od nekog uslova) na strani na koojoj se trenutno nalazim, ako u meniju ne postoji selektor. Recimo da ga uopste ne ubacim u meni?

    Dakle sustinsko pitanje je pokretanje procesa trasliteracije, a da nije posledica klika na selektor.

    Unapred hvala.

    Plugin Author Ivijan-Stefan Stipic

    (@ivijanstefan)

    Jedino da koristi? neki od dostupnih kratkih kodova.

    Na po?etku stranice otvori? shortcode a na kraju stranice ga zatvori?. Ili na po?etku editora da je otvorena a na kraju zatvoren.

    Jedini problem je ?to onda ceo sadr?aj stranice mora pro?i kroz the_content hook ili preko do_shortcode() funkcije.

    Izvodljivo jeste i koristiti neke dostupne PHP funkcij iz na?eg arsenala ali tu mora? da kodira? kroz child temu.

    Ako ti treba developer za to, mo?emo videti da ti neko iz tima odradi.

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘Aktiviranje transliteracije programski’ is closed to new replies.