• Adam Karski

    (@adam-karski)


    Witam,

    Mam taki problem.

    Mam wygenerowany rodzaj wpisu z połączoną taxonomią dołączonymi trzema kategoriami (terms) w niej.

    CustomPost taxopnomia terms
    Oferty => kategorie_ofert => trzy kategorie ofert

    Taxonomia była dodana w functions.php , jako plugin i jako mu-plugin i w żaden sposób nie mogę dodać wpisu z odrębnego pluginu.

    Plugin pobiera dane z formularza i ustala nowy custom post. Gdy custompost ma już ID ustalam

    wp_set_object_terms( $postId, intval(14), 'kategorie_ofert');

    i to nie działa.

    taxonomy_exists('kategorie_ofert')
    zwraca [0], czyli nie widzi zarejestrowanej taxonomi.

    jednak wp_set_object_terms( $postId, array('tag01,tag03,tag056') , 'post_tag');
    jest dodawane.

    Nie mam pojęcia jak sprawić by plugin widział taxonomię.

    Rejestrowana ona jest tak.

    add_action('restrict_manage_posts', 'kategorie_ofert_taxonomy_filters');
    add_action('init', 'add_taxonomy_kategorie_ofert', 0);
    add_action('init', 'praca_post_type', 0);
    register_taxonomy_for_object_type( 'kategorie_ofert', 'oferty_pracy' );

    Juz nawet dodawałem w tym samym pluginie taxonomię. Nic nie pomaga. Proszę o pomoc.

Viewing 4 replies - 1 through 4 (of 4 total)
  • ziemekpr0

    (@ziemekpr0)

    Na Twoim miejscu, przy takim projekcie dałbym sobie spokój z wtyczkami do CPT i taksonomii i napisał te dwie funkcje na piechotę.

    Twórca wątku Adam Karski

    (@adam-karski)

    Ależ oczywiście. Problem w tym że to nie ma najmniejszego znaczenia czy dodaję taxo, CPT z ręki czy przez pluginy. A pisząc że dodaję przez „plugin” mam na myśli swój plugin z ulepszeniami zmianami administracyjnymi. Z Functions.php nie powinno się korzystać do umieszczania stałych elementów. To odrębny temat dotyczący porypania wordpressa w sensie MVC.

    Problem rozwiązałem poprzez powrót z POST danymi do formularza i tam wykonuje dodanie dla ID meta danych. Ot to jest właśnie wordpress, frontendowy formularz ma większe uprawnienia niż functions.php czy plugin ładowany przed functions.php z mu-plugins. Dzięki za pomoc.

    Jak na moje oko, to wygląda że trochę przekombinowałeś, bo gdybyś rzeczywiście napisał funkcję do rejestrowania CPT i taksonomii, to byś nie musiał korzystać z register_taxonomy_for_object_type. Ciekawe czy jest jakaś różnica między łączeniem taksonomii i CPT przez funkcję, a argumentami podczas ich rejestracji. 🙂

    • Ta odpowiedź została zmodyfikowana 7 years, 12 months temu przez ziemekpr0.
    • Ta odpowiedź została zmodyfikowana 7 years, 12 months temu przez ziemekpr0.
    Twórca wątku Adam Karski

    (@adam-karski)

    register_taxonomy_for_object_type było napisane dla sprawdzenia. Z tym czy bez tego, czy z ręki czy z pluginu nie ma to znaczenia. Zwłaszcza że te same funkcje , te same czynności działają w miejscu mniej bezpiecznym z punktu widzenia PHP – czyli w szablonie wyświetlającym formularz , który nie powinien mieć takich możliwości. Taka jest „myśl” o bezpieczeństwie w wordpresie- znaczy się chaos.

Viewing 4 replies - 1 through 4 (of 4 total)
  • Temat ‘Taxonomie i dostępność z poziomu pluginu.’ jest zamknięty na nowe odpowiedzi.