Définir les options de l'écran d'administration par défaut et l'ordre des métabox
28
Je cherche désespérément un moyen (n'importe quel moyen) de définir les "options d'écran" par défaut et l'ordre des métaboxes via le fichier functions.php. Quelqu'un at-il de l'aide à fournir ici?
Définition de l'ordre des métadonnées sur les pages de post-édition
Vous devrez supprimer les métadonnées et les ajouter à nouveau dans l'ordre souhaité.
Pour désactiver les métadonnées: (personnalisez selon vos besoins, regardez l'ID de la metabox dans le code html pour savoir quel nom vous devez utiliser comme premier paramètre des fonctions)
function my_remove_meta_boxes(){
remove_meta_box('postcustom','post','core');
remove_meta_box('commentsdiv','post','core');...}
add_action('admin_menu','my_remove_meta_boxes');
Après les avoir supprimés, vous pouvez utiliser la fonction add_meta_box pour les ajouter à de nouvelles positions: http://codex.wordpress.org/Function_Reference/add_meta_box . L'ordre des métadonnées dépend de l'ordre dans lequel vous appelez la fonction add_meta_box. Par exemple: avec l'extrait de code suivant, la zone de méta commentaires sera avant la zone de méta des champs personnalisés.
Désolé, je ne me suis peut-être pas expliqué correctement. Je faisais référence aux métadonnées sur la page de modification des articles dans la zone d'administration ainsi qu'à la définition du nombre de messages par défaut à afficher sur la page de la liste des articles d'administration.
NetConstructor.com
1
donc techniquement ce n'est pas une question, c'est vraiment 2 questions?
Tom J Nowell
J'ai modifié ma réponse. Faites-moi savoir si vous avez besoin de plus de détails.
sorich87
@ sorich87 merci pour votre réponse mais d'après ce que je me souviens, il n'y avait aucun moyen de spécifier l'ordre exact de chaque métabox ou était-ce? Je devrais peut-être être un peu plus précis. Je recherche essentiellement différents extraits de code qui me permettent de prédéfinir diverses options pour tous les utilisateurs sans avoir à me connecter à chaque compte. Exemples: définir l'ordre exact des métadonnées sur les pages de publication, définir le titre des colonnes à afficher sur la page de la liste des publications, définir les résultats par défaut à afficher sur la page de la liste des publications ... des choses comme ça. Merci d'avance.
NetConstructor.com
J'ai modifié ma réponse.
sorich87
9
Dans l'exemple suivant, remplacez {CPT}le nom du type de poste, comme post, page, book, event, imaginary, foobar... Donc , si vous avez un type de poste nommé event, vous devez ajouter un filtre pour get_user_option_meta-box-order_event.
add_filter('get_user_option_meta-box-order_{CPT}','metabox_order');function metabox_order( $order ){return array('normal'=> join(",",
array(// vvv Arrange here as you desire'customdiv-{CPT}','authordiv','slugdiv',)),);}
Remarques:
Avec normal, vous pouvez également avoir sideetadvanced
Les valeurs sont des identifiants div séparés par des virgules, vous pouvez les saisir en affichant le code source de la page ou vous pouvez deviner
Tout métabox existant qui n'est pas inclus dans votre commande personnalisée sera ajouté automatiquement à la fin de votre liste.
J'étais quelque peu confus par la {CPT}nomenclature; pour clarifier, si vous avez un type de poste nommé event, vous devrez ajouter un filtre pour get_user_option_meta-box-order_event.
Réponses:
Définition de l'ordre des métadonnées sur les pages de post-édition
Vous devrez supprimer les métadonnées et les ajouter à nouveau dans l'ordre souhaité.
Pour désactiver les métadonnées: (personnalisez selon vos besoins, regardez l'ID de la metabox dans le code html pour savoir quel nom vous devez utiliser comme premier paramètre des fonctions)
Après les avoir supprimés, vous pouvez utiliser la fonction add_meta_box pour les ajouter à de nouvelles positions: http://codex.wordpress.org/Function_Reference/add_meta_box . L'ordre des métadonnées dépend de l'ordre dans lequel vous appelez la fonction add_meta_box. Par exemple: avec l'extrait de code suivant, la zone de méta commentaires sera avant la zone de méta des champs personnalisés.
Vous voudrez peut-être regarder le fichier wp-admin / edit-form-advanced.php
Définition du titre des colonnes à afficher sur la page de la liste des articles
Vous devez utiliser le filtre de gestion _ {$ post_type} _posts_columns. Par exemple: l'extrait suivant supprimera la colonne des commentaires.
Définition des résultats par défaut à afficher sur la page de la liste des publications
Utilisez les filtres "edit _ {$ post_type} _per_page" et "edit_posts_per_page".
Pour cibler un type de publication spécifique:
utiliser
add_filter( 'edit_{post type}_per_page', 'my_edit_post_per_page' );
par exempleadd_filter( 'edit_post_per_page', 'my_edit_post_per_page' );
pour les publications,add_filter( 'edit_page_per_page', 'my_edit_post_per_page' );
pour les pages.ou utilisez une condition dans votre fonction. par exemple:
fonction my_edit_post_per_page ($ per_page, $ post_type) {
la source
Dans l'exemple suivant, remplacez
{CPT}
le nom du type de poste, commepost
,page
,book
,event
,imaginary
,foobar
... Donc , si vous avez un type de poste nomméevent
, vous devez ajouter un filtre pourget_user_option_meta-box-order_event
.Remarques:
normal
, vous pouvez également avoirside
etadvanced
la source
{CPT}
nomenclature; pour clarifier, si vous avez un type de poste nomméevent
, vous devrez ajouter un filtre pourget_user_option_meta-box-order_event
.