Je me demande s'il existe un moyen de modifier la position par défaut des boîtes Meta Wordpresses telles que "l'image sélectionnée" pour les types de publication personnalisés sans avoir à les faire glisser manuellement?
Exemple:
custom-post-types
functions
metabox
M. Brown
la source
la source
Réponses:
Vous pouvez supprimer les métadonnées par défaut avec remove_meta_box et les rajouter dans une position différente avec add_meta_box:
Cela le supprimera de la colonne latérale et l'ajoutera à la colonne principale. remplacez
post
dans cet exemple le nom de votre type de publication personnalisé.la source
add_meta_box()
besoin d'un$callback
nom de fonction, comment se fait-il que je connaisse le nom de la fonction utilisée par WordPress? Supposons que je veuille faire la même chose dans la barre latérale meta_box 'Catégories' (#categorydiv)?/wp-admin/edit-form-advanced.php
et vous verrez où WordPress ajoute toutes les métadonnées de base et les rappels et arguments qu'il utilise. pour les catégories c'est le caspost_categories_meta_box
.J'ai aussi eu du mal avec ça. Je n'ai pas vraiment trouvé de moyen propre de redéfinir la mise en page / l'ordre - d'autant plus qu'il peut être modifié par les utilisateurs quand / s'ils font glisser les cases.
J'aime faire les choses 'avec' wordpress (ça rapporte généralement), rathe que de m'y heurter et la façon dont wordpress le fait est la suivante:
wordpress stocke les positions glissées par utilisateur et par écran et il existe tout un tas de clés de méta utilisateur qu'il utilise en fonction de la page / de l'écran sur lequel il se trouve.
Vous pouvez donc ajouter une action ou un filtre pour chaque nouvel utilisateur afin de définir le paramètre utilisateur comme vous le souhaitez par défaut.
1) Faites glisser et organisez la page que vous souhaitez affecter, puis 2) regardez dans phpmyadmin votre méta utilisateur pour votre identifiant et voyez ce que wp y a stocké. 3) puis codez la nouvelle action utilisateur comme suit si un utilisateur n'a PAS ce paramètre déjà défini (pour éviter d'écraser un choix personnel), vous pouvez le définir comme vous le souhaitez - avec la valeur que vous avez trouvée en le définissant manuellement.
Pour avoir une idée des méta-méta utilisateur que vous recherchez, consultez ces captures d'écran: http://wpusersplugin.com/related-plugins/amr-user-templates/screenshots-for-user-templates/
(J'ai fini par écrire un plugin générique afin que je puisse en tant qu'administrateur définir ma mise en page préférée pour tous les utilisateurs pour toutes sortes de pages / écrans. Ensuite, ils pourraient modifier cela, par exemple à mesure qu'ils devenaient plus compétents. les choses que le plugin me récupère simplement les valeurs utilisateur du modèle, il n'essaye même pas de définir la valeur à une valeur codée en dur.)
la source
Si vous souhaitez commander précisément vos meta box, vous pouvez utiliser ce plugin: https://wordpress.org/plugins/post-meta-box-order/
Il joue sur la meta-box-order_post de l'option utilisateur (table wp_usermeta).
Remarque 1: cette technique peut être appliquée à n'importe quel CPT personnalisé en modifiant la fin du drapeau: meta-box-order_ [YOUR_CPT]
Note 2: n'oubliez pas de changer le hachage dans le code du plugin pour appliquer votre nouvelle commande à tous les utilisateurs existants.
la source