web-dev-qa-db-fra.com

Changer/Supprimer le type de message et la catégorie par défaut?

Je développe un site Web avec 3 types de messages différents et 4 taxonomies différentes pour enregistrer les messages sous.

Le type de message et les catégories par défaut ne sont pas utilisés dans ce modèle, et comme de nombreux auteurs ne connaissent pas très bien WordPress et que nous ne pouvons pas toujours les contrôler, je souhaite supprimer, modifier ou au moins masquer les catégories et le message par défaut, ils doivent donc l'afficher sous un type personnalisé.

Par exemple, une personne crée un nouveau message sous le type "Nouvelles brèves" et l'assigne à la taxonomie News. Ce message ne sera classé dans aucune catégorie (non catégorisé).

S'il publie ce message en tant que type de message normal, il ne sera affiché nulle part sur le site Web.

Est-il possible de contourner ce problème?

1
Jack Johansson

Oui c'est possible avec une solution très simple. Ajouter cet extrait de code au funtion.php de votre thème

add_action('admin_menu','remove_default_post_type');

function remove_default_post_type() {
    remove_menu_page('edit.php');
}

Plus d'infos: https://www.techjunkie.com/remove-default-post-type-from-admin-menu-wordpress/ ou https://codex.wordpress.org/Function_Reference/remove_menu_page

2
Thijs

Vous pouvez supprimer le type de message et le menu de catégorie par défaut en utilisant le code ci-dessous.

add_action('admin_menu','remove_post_cat_menu');

function remove_post_cat_menu() {
    remove_submenu_page( 'edit.php', 'post-new.php' );
    remove_submenu_page( 'edit.php', 'edit-tags.php?taxonomy=category' ); // Removes default category menu
}
1
Vinod Dalvi

Basé sur la réponse de @Thijs, j’ai réussi à le faire en 3 parties:

Tout d'abord, en supprimant le menu Éditer les messages du menu administrateur.

add_action('admin_menu','remove_default_post_type');
function remove_default_post_type() {
    remove_menu_page('edit.php');
}

Ensuite, en supprimant le bouton new-post de la barre d'administration et en modifiant le lien par défaut.

add_action('admin_menu','remove_default_post_type');
function remove_default_post_type() {
    remove_menu_page('edit.php');
    $default_link = $wp_admin_bar->get_node('new-content');
    $default_link->href = '#';
    $wp_admin_bar->add_node($default_link);
}

Maintenant, il est temps d’effacer complètement les catégories des types de publication personnalisés, en affectant uniquement les balises aux taxonomies, tout en créant des taxonomies personnalisées.

'taxonomies' => array('post_tag' )

Cela supprimera toute trace de type de message et de catégories par défaut. Etant donné que l'étiquette est assignée à des taxonomies, nous pouvons toujours accéder aux étiquettes à partir du menu du type d'article personnalisé. Toutefois, le lien direct sera toujours accessible, ce qui peut facilement être bloqué ou redirigé à l’aide du crochet de rôles d’utilisateur.

0
Jack Johansson