web-dev-qa-db-fra.com

Inconvénients à ne pas utiliser le type de message "Posts" intégré?

Je prévois de sauter le type de message Posts une fois pour toutes. Ceci est un tout nouveau portail. Il contiendra des centaines de milliers de contenus sous forme d'articles, de fichiers multimédias et de liens. Au lieu de Posts, j'utiliserai un type de message personnalisé appelé "Articles". De même, pour mes publications vidéo, audio et photo, j'utiliserai un autre CPT appelé "Multimédia".

Je fais cela pour mettre en place une norme unique pour toutes les actions, c'est-à-dire chaque fois que nous publions quoi que ce soit, c'est un CPT. Cela m'aide à gérer les URL, l'interface utilisateur administrative, qui contrôle quoi, quelles taxonomies montrer, quand, etc.

Deux questions:

  1. comment vous débarrasser du menu des messages sur l'interface utilisateur?
  2. des problèmes de sauter le type de message et de ne pas l'utiliser du tout?
1
Average Joe

1. comment vous débarrasser du menu de publication sur l'interface utilisateur?

Simple, il suffit de désinscrire le type de poste post. Il n'y a pas de fonction par défaut pour faire cela, mais l'un des développeurs principaux ( Nacin ) a posté un exemple de code sur un WP Billet Trac montrant comment cela peut être fait:

if ( ! function_exists( 'unregister_post_type' ) ) :
function unregister_post_type( $post_type ) {
    global $wp_post_types;
    if ( isset( $wp_post_types[ $post_type ] ) ) {
        unset( $wp_post_types[ $post_type ] );
        return true;
    }
    return false;
}
endif;

2. Avez-vous des problèmes pour sauter le type de message et ne pas l'utiliser du tout?

Sachez que l'annulation de l'enregistrement des types de publication par défaut n'est pas recommandée. Ce n'est pas parce que vous pouvez faire quelque chose que vous devriez le faire. Ma meilleure recommandation serait d'utiliser les publications par défaut comme vos articles en premier lieu.

N'oubliez pas que les publications et les pages sont enregistrées comme n'importe quel autre CPT. Donc, annuler l'enregistrement posts juste pour enregistrer articles revient à réinventer la roue.

7
EAMann

Une autre option consiste à conserver la valeur par défaut post post_type et à modifier l’étiquette du menu et toutes les autres étiquettes qui lui sont associées.

add_action( 'init', 'c3m_change_post_object_label' );
function c3m_change_post_object_label() {
    global $wp_post_types;
    $labels = &$wp_post_types['post']->labels;
    $labels->name = 'Articles';
    $labels->singular_name = 'Add New Article';
    $labels->add_new = 'Add Article';
    $labels->add_new_item = 'Add Article';
    $labels->edit_item = 'Edit Article';
    $labels->new_item = 'New Article';
    $labels->view_item = 'View Article';
    $labels->search_items = 'Search Articles';
    $labels->not_found = 'No Articles Found';
    $labels->not_found_in_trash = 'No Articles found in Trash';
}
add_action( 'admin_menu', 'c3m_change_post_menu_label' );
function c3m_change_post_menu_label() {
    global $menu;
    global $submenu;
    $menu[5][0] = 'Articles';
    $submenu['edit.php'][5][0] = 'Articles';
    $submenu['edit.php'][10][0] = 'Add Article';
    echo '';
}
7
Chris_O

je sais que c'est un peu un vieux fil de discussion, mais je viens de trouver ce très petit script sur GitHub qui est sacrément pratique pour annuler l'enregistrement de types de publication personnalisés:

Annule l'enregistrement d'un type d'article et supprime l'élément de menu

0
mroncetwice