J'ai créé un type de message personnalisé et je souhaite afficher du texte sur la page de l'éditeur sous le titre et au-dessus de l'éditeur de texte. Comment puis-je faire ceci?
J'ai essayé d'utiliser add_meta_box, mais je n'ai pas pu le déplacer au-dessus de l'éditeur.
Le meilleur moyen serait d'utiliser JavaScript pour injecter l'élément.
Voici l'essentiel du balisage pour cette page:
<div id="poststuff">
<div id="post-body" class="metabox-holder columns-2">
<div id="post-body-content">
<div id="titlediv">
... other stuff ...
</div>
<div id="postdivrich" class="postarea">
... other stuff ...
</div>
</div>
</div>
</div>
La titlediv
est le titre. La postdivrich
est l'éditeur de contenu. Vous voulez insérer quelque chose entre eux. Avec jQuery, c'est assez facile. Dites-lui simplement d'insérer votre balise après la titlediv
:
jQuery(function($) {
var text_to_insert = "This is some text you'll throw between the title and editor.";
$('<p>' + text_to_insert + '</p>').insertAfter('#titlediv')
});
Voici le résultat de l'utilisation de ce code exact sur mon propre site:
nouveaux points d'accroche pour l'écran d'ajout/modification de messages: edit_form_after_title
add_action( 'edit_form_after_title', 'myprefix_edit_form_after_title' );
function myprefix_edit_form_after_title() {
echo '<h2>This is edit_form_after_title!</h2>';
}
Pour tous ceux qui ont ce problème, consultez ce post: Plus de points d'ancrage sur l'écran d'édition Il permet d'insérer du contenu personnalisé par un nouveau point d'ancrage Wordpress natif, qui est de loin plus stable.
Utilisez comme décrit dans la réponse de @ DrMosko.
Nous ajoutons un Custom Meta Box et faisons notre travail à l'intérieur.
Il y a quelques crochets qui sont not Meta Box et nous pouvons utiliser pour insérer du contenu dans cette page d’administrateur:
add_action( 'edit_form_top', function( $post )
{
echo '<h1 style="color:red">edit_form_top</h1>';
});
add_action( 'edit_form_after_title', function( $post )
{
echo '<h1 style="color:red">edit_form_after_title</h1>';
});
add_action( 'edit_form_after_editor', function( $post )
{
echo '<h1 style="color:red">edit_form_after_editor</h1>';
});
add_action( 'edit_page_form', function( $post )
{
// edit_page_form is ONLY for pages, the other is for the rest of post types
echo '<h1 style="color:red">edit_page_form/edit_form_advanced</h1>';
});
add_action( 'dbx_post_sidebar', function( $post )
{
echo '<h1 style="color:red">dbx_post_sidebar</h1>';
});