Yoast\WP\SEO\Presenters\Admin

Meta_Fields_Presenter{}Yoast 1.0

Presenter class for meta fields in the post editor.

Outputs the hidden fields for a particular field group and post.

Хуков нет.

Использование

$Meta_Fields_Presenter = new Meta_Fields_Presenter();
// use class methods

Методы

  1. public __construct( $post, $field_group, $post_type = 'post' )
  2. public present()

Код Meta_Fields_Presenter{} Yoast 22.3

class Meta_Fields_Presenter extends Abstract_Presenter {

	/**
	 * The meta fields for which we are going to output hidden input.
	 *
	 * @var array
	 */
	private $meta_fields;

	/**
	 * The metabox post.
	 *
	 * @var WP_Post The metabox post.
	 */
	private $post;

	/**
	 * Meta_Fields_Presenter constructor.
	 *
	 * @param WP_Post $post        The metabox post.
	 * @param string  $field_group The key under which a group of fields is grouped.
	 * @param string  $post_type   The post type.
	 */
	public function __construct( $post, $field_group, $post_type = 'post' ) {
		$this->post        = $post;
		$this->meta_fields = WPSEO_Meta::get_meta_field_defs( $field_group, $post_type );
	}

	/**
	 * Presents the Meta Fields.
	 *
	 * @return string The styled Alert.
	 */
	public function present() {
		$output = '';

		foreach ( $this->meta_fields as $key => $meta_field ) {
			$form_key   = \esc_attr( WPSEO_Meta::$form_prefix . $key );
			$meta_value = WPSEO_Meta::get_value( $key, $this->post->ID );

			$default = '';
			if ( isset( $meta_field['default'] ) ) {
				$default = \sprintf( ' data-default="%s"', \esc_attr( $meta_field['default'] ) );
			}

			$output .= '<input type="hidden" id="' . $form_key . '" name="' . $form_key . '" value="' . \esc_attr( $meta_value ) . '"' . $default . '/>' . "\n";
		}

		return $output;
	}
}