Benütze ich einen benutzerdefinierten Post-Typ oder etwas anderes?

Ich möchte meiner Startseite einen Abschnitt “News” hinzufügen und möchte, dass dieser Link in meinem linken Admin-Bereich angezeigt wird, damit ich Artikel im laufenden Betrieb hinzufügen kann, indem ich auf “Artikel hinzufügen” klicke und die Überschrift, das Veröffentlichungsdatum und die Veröffentlichung anbringe Logo, externe URL und ein Auszug aus dem Artikel.

Anfangs dachte ich daran, einen benutzerdefinierten Beitragstyp “Nachrichten” zu erstellen, der mir diese Fähigkeit geben würde. Die Artikel sollen jedoch nur auf der Startseite angezeigt werden und führen den Benutzer beim Klicken auf das Bild zur externen Quelle. Die Artikel haben keine eigene Seite / Post.

Wenn das gesagt wird, ist ein benutzerdefinierter Posttyp der beste Ansatz oder gibt es etwas Besseres da draußen?

Solutions Collecting From Web of "Benütze ich einen benutzerdefinierten Post-Typ oder etwas anderes?"

Eine benutzerdefinierte Post scheint völlig angemessen – tatsächlich gibt es keine logische Alternative.

Ja, eine Kombination aus benutzerdefinierten Beitragstypen und benutzerdefinierten Feldern. Da jeder Beitrag technisch eine externe Ressource sein wird, benötigen Sie ein benutzerdefiniertes Feld für die URL.

  • “Headline” wird der Titel sein
  • “Veröffentlichungsdatum” könnte das Post-Datum oder ein benutzerdefiniertes Feld sein
  • “Veröffentlichungslogo” könnte das vorgestellte Bild sein
  • Das “Snippet” würde in die Inhaltsbox (Editor) gehen

Dies ist der Code zum Erstellen des benutzerdefinierten Beitragstyps:

function register_news_cpt() { $labels = array( 'name' => 'News', 'singular_name' =>'News', 'menu_name' =>'News', 'name_admin_bar' =>'News', 'parent_item_colon' =>'Parent News Item:', 'all_items' =>'All News', 'add_new_item' =>'Add New Item', 'add_new' =>'Add New', 'new_item' =>'New Item', 'edit_item' =>'Edit Item', 'update_item' =>'Update Item', 'view_item' =>'View Item', 'search_items' =>'Search News', 'not_found' =>'Not found', 'not_found_in_trash' =>'Not found in Trash', ); $args = array( 'label' =>'News', 'description' =>'News', 'labels' => $labels, 'supports' => array( 'title', 'editor', 'custom-fields', ), 'taxonomies' => array( 'category', 'post_tag' ), 'hierarchical' => false, 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'menu_position' => 5, 'menu_icon' => 'dashicons-media-document', 'show_in_admin_bar' => true, 'show_in_nav_menus' => true, 'can_export' => true, 'has_archive' => false, 'exclude_from_search' => true, 'publicly_queryable' => true, 'capability_type' => 'page', ); register_post_type( 'news', $args ); } add_action( 'init', 'register_news_cpt', 0 );