Wsparcie » Motywy » Dodanie szablonu strony z poziomu wtyczki

  • Rozwiązany Piotr Po

    (@potreb)


    Czy jest możliwe dodanie szablonu dla strony z poziomu wtyczki, tak aby szablon był widoczny na liście w atrybutach strony?

Viewing 5 replies - 1 through 5 (of 5 total)
  • Czy jest możliwe dodanie szablonu dla strony z poziomu wtyczki, tak aby szablon był widoczny na liście w atrybutach strony?

    Z tego co wiem, to wtyczka nie ma takiej możliwości. Szablony stron dodajemy w motywie. Przeczytaj tutaj: Creating Your Own Page Templates.

    No właśnie. Opiszę swój problem, bo może jest inne wyjście. Mam wtyczkę, która zapisuje do tabeli „x” pewne dane. Chciałbym te dane wyświetlić. Dlatego chciałem stworzyć plik szablonu, który byłby zlokalizowany w katalogu wtyczki, a wtedy z łatwością mógłbym ten szablon podłączyć do strony. Znalazłem pokrewne rozwiązanie, ale jak dla mnie jest toporne i nie spełnia moich oczekiwań.

    add_filter( 'after_setup_theme', 'wpa3396_page_template' );
    function wpa3396_page_template( $page_template )
    {
    
        if ( is_page( 'polityka-prywatnosci' ) ) {
            $page_template = dirname( __FILE__ ) . '/templates/events.php';
        }
        return $page_template;
    }

    Tylko w ten sposób mogę podłączyć szablon zlokalizowany w katalogu wtyczki, jednak to rozwiązanie ma swój minus, bo ten szablon jest przypisany dla konkretnej strony.

    Ewentualnie mógłbym robić copy szablonu do aktywnego thema przy aktywacji i usunięcie przy dezaktywacji. Tylko czy takie rozwiązanie ma sens.

    Jedyny pomysł jaki przychodzi mi w tej chwili do głowy, to właśnie tworzyć plik szablonu w aktualnym motywie.

    Szkoda, że nie ma prostego rozwiązania. Pokusiłem się nawet sprawdzić kilka funkcji, jednak bez wmieszania się w core WordPress-a nic nie zdziałam. Wydaje mi się, że najlepszym rozwiązaniem jest kopiowanie szablonu z lokalizacji wtyczki. Dzięki za pomoc.

Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘Dodanie szablonu strony z poziomu wtyczki’ is closed to new replies.