Když chcete založit vlastní post type, tak v rámci frameworku je nejjednodušší a hlavně správná cesta adresář requires/definitions uvnitři vašeho projektu neboli-li modulu, tj. kt/yours…
Nejprve je ale vhodné doplnit inicializační soubor ve vašem projektu (kt/yours/)kt_init.inc.php o konstanty, které budou sloužit pro identifikaci i další použití, např.:
1 2 3 4 |
define( "KT_XXX_CAR_KEY", "car" ); define( "KT_XXX_CAR_SLUG", "auto" ); |
No a pak už jen stačí vytvořit v adresáři (kt/yours/requires/)definitions definiční soubor, v našem případě konkrétně „kt_xxx_car_definition.inc.php“ s obsahem např.:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
<?php add_action( "init", "kt_xxx_register_car_post_type" ); function kt_xxx_register_car_post_type() { $labels = array( "name" => __( "Auta", KT_DOMAIN ), "singular_name" => __( "Auto", KT_DOMAIN ), "add_new" => __( "Přidat auto", KT_DOMAIN ), "add_new_item" => __( "Přidat nové auto", KT_DOMAIN ), "edit_item" => __( "Změnit auto", KT_DOMAIN ), "new_item" => __( "Nové auto", KT_DOMAIN ), "view_item" => __( "Zobrazit auta", KT_DOMAIN ), "all_items" => __( "Všechny auta", KT_DOMAIN ), "search_items" => __( "Hledat auta", KT_DOMAIN ), "not_found" => __( "Žádná auta nenalezena", KT_DOMAIN ), "not_found_in_trash" => __( "Žádná auta v koši", KT_DOMAIN ), "menu_name" => __( "Auta", KT_DOMAIN ), ); $args = array( "labels" => $labels, "public" => true, "publicly_queryable" => true, "show_ui" => true, "show_in_menu" => true, "capability_type" => "post", "query_var" => true, "rewrite" => array( "slug" => KT_XXX_CAR_SLUG, "with_front" => false ), "has_archive" => false, "hierarchical" => false, "menu_position" => 4, "supports" => array( "title", "editor", "thumbnail" ), ); register_post_type( KT_XXX_CAR_KEY, $args ); } |
Vzhledem k tomu, že jsou soubory s definicemi ve struktuře šablony, resp. projektu obsaženy v rámci adresáře requires, tak dojde díky inicializaci modulu k jejich automatickému načtení (require once)…
Odebírejte novinky z FW
Sledujte nás!
Follow @BriloTeam!