Ist es eine gute Vorgehensweise, benutzerdefinierte Optionen bei der Registrierung eines Post-Typs einzubeziehen?

Es ist eher eine offene Diskussion als eine Frage, denn ich weiß, dass das Hinzufügen von benutzerdefinierten Argumenten zum Post-Typ-Objekt funktioniert, aber ich frage mich, ob es in irgendeiner Weise technisch falsch ist.

Grundsätzlich, wenn Sie einen Posttyp registrieren:

$labels = array( 'name' => _x('Drews', 'post type general name'), 'singular_name' => _x('Drew', 'post type singular name'), 'add_new' => __('Add New'), 'add_new_item' => __('Add New Item'), 'edit_item' => __('Edit Item'), 'new_item' => __('New Item'), 'view_item' => __('View Item'), 'search_items' => __('Search Items'), 'not_found' => __('No Items found'), 'not_found_in_trash' => __('No Items found in Trash'), 'menu_name' => 'Archives' ); $rewrite = array( 'slug' => 'drews' ); $args = array( 'labels' => $labels, 'public' => true, 'show_in_menu' => true, 'query_var' => 'drews', 'rewrite' => $rewrite, 'has_archive' => true, 'hierarchical' => false, 'supports' => array('title','editor','author','comments'), '_drew_made_this' => true ); register_post_type('drews',$args); 

Notieren Sie sich die letzte Zeile in meinem $ args-Array, ‘_drew_made_this’ wird auf ‘true’ gesetzt. Dies erlaubt mir, auf verschiedene Arten gegen diese Bedingung zu konditionieren, so wie man es mit ‘_builtin’ filtern würde, wenn man get_post_types () benutzt. Wie ich schon sagte, ich weiß, dass das funktioniert, weil ich es benutze, aber gibt es ein Potential dafür, WordPress auf irgendeine komische Weise zu brechen.

Solutions Collecting From Web of "Ist es eine gute Vorgehensweise, benutzerdefinierte Optionen bei der Registrierung eines Post-Typs einzubeziehen?"

Sie können den register_post_type() $ Argumenten beliebig viele Argumente hinzufügen, da sie alle in $wp_post_types global in einem Array gespeichert sind (zB: $ wp_post_types [type] = $ args), aber ich bin mir nicht sicher, ob das so ist Der beste Weg zu gehen, da dies leicht in der Zukunft geändert werden könnte und dann Ihre functionen brechen, wäre ein besserer Weg zu gehen, Ihre eigene Option in der Optionstabelle zu erstellen und zu verwenden, was ich meine ist, dass Sie get_post_types() verwenden get_post_types() und speichern Sie sie als ein Array in einer Art => $ args-Weise und auf diese Weise sind Sie nicht von der corefunktionalität abhängig, um im aktuellen Zustand zu bleiben. Hoffe, das macht Szene.