WordPress metabox onder de titel, boven editor
Soms is het handig om tussen de titel en de TinyMCE editor een WordPress metabox te hebben. Bijvoorbeeld wanneer je een subtitel onder je titel wil hebben of als je een afbeelding tussen de titel en de tekst hebt staan.
Dit laatste was het geval voor een website die ik voor een vriendin aan het maken ben. Het heeft wat zoeken op Google gekost, maar op Stackexchange.com heb ik de oplossing gevonden. Via deze tutorial wil ik dat graag met je delen.
De oplossing
Het is eigenlijk heel simpel. Laten we eerst een metabox aanmaken. Ik neem aan dat je weet hoe dit moet. Zo niet dan kan je wederom via Google vele tutorials hierover vinden.
Laten we beginnen met het aanmaken voor een metabox, alleen voor pagina's in mijn geval:
1 2 3 4 56 7 8 9 1011 12 function meta_box_picture() { add_meta_box( 'page-picture-meta-box', // ID attribute of metabox 'Pagina afbeelding', // Title of metabox visible to user 'picture_meta_box_callback', // Function that prints box in wp-admin 'page', // Show box for posts, pages, custom, etc. 'up', // Where on the page to show the box, change to something other then normal, advanced or side 'high' // Priority of box in display order );} add_action( 'add_meta_boxes', 'meta_box_picture' );
Het belangrijke deel is lijn 8. Hier geef je aan waar op post.php de meta-box geplaatst moet worden. Normaal gesproken heb je hierbij de keuze uit Normal, Side of Advanced. Maar hier gaan we iets anders invullen. Het maakt niet uit wat in principe, maar ik heb gekozen voor het woord Up. Dat leek mij wel logisch 🙂
Nu weet WordPress natuurlijk niet wat hij moet doen met een metabox van het type Up. Dat gaan we WordPress nu vertellen:
14 15 16 17 1819 20
function my_upper_meta_box() { global $post, $wp_meta_boxes; // Get the globals do_meta_boxes( get_current_screen(), 'up', $post ); // Output the "up" meta boxes } add_action( 'edit_form_after_title', 'my_upper_meta_box' );
Nu zal een meta box van het type 'up' tussen de titel en TinyMCE tekst editor geplaatst worden. En dat was alles!
Nu moet je natuurlijk nog wel de code schrijven voor de inhoud en opslaan van de meta box, maar dat kan je in de eerder genoemde tutorials wel vinden als je niet weet hoe dat moet. En wie weet, misschien schrijf ik ooit zelf nog eens zo'n tutorial.. 😉