Skip to content

Meta Box

rogertm edited this page Oct 17, 2023 · 11 revisions

abstract class Meta_Box

Para crear Meta Boxes o custom fields debemos crear una clase que extendida de WASP\Meta_Box\Meta_Box .

<?php
use WASP\Meta_Box\Meta_Box;
    
class My_Plugin_Custom_Post_Type_Meta_Box extends Meta_Box
{
	function __construct()
	{
		parent::__construct();
		$this->id				= 'my-post-custom-fields';
		$this->title			= __( 'Custom Fields title', 'text-domain' );
		$this->screen			= 'my-custom-post-type-slug';
		$this->context			= 'advanced';
		$this->priority			= 'default';
		$this->callback_args	= null;
	}

	function fields()
	{
		$fields = array(
			'field_name'	=> array(
				'label'		=> __( 'Title', 'text-domain' ),
				'meta'		=> 'field_name'
			),
			/** more fields here */
		);

		return $fields;
	}
}
new My_Plugin_Custom_Post_Type_Meta_Box;

Los campos personalizados definidos en el método fields() aparecerán en la pantalla de edición de cada post type, previamente definido en la propiedad $screen.

Para recuperar el valor de cada campo se debe usar la función get_post_meta().

get_post_meta( $post_id, 'field_name', true );

Referencias

Clone this wiki locally