Criando campo personalizado no WordPress

Nessa videoaula, vou mostrar como criar um campo personalizado no WordPress, manualmente. Trabalharemos com Orientação a Objeto no WordPress.

Código:

AbstractMetaBox.php
[php]
<?php

abstract class AbstractMetaBox {

public function __construct() {
add_action(‘add_meta_boxes’, array($this, ‘addMetaBox’));
add_action(‘save_post’, array($this, ‘saveFields’));
}

abstract public function createForm();

abstract public function addMetaBox();

abstract public function saveFields($post_id);
}

[/php]

FeaturedMetaBox.php

[php]
<?php

class FeaturedMetaBox extends AbstractMetaBox {

public function createForm() {
global $post;
$featured = get_post_meta($post->ID, ‘featured’, true);
$options = array(‘nao’ => ‘NÃO’, ‘sim’ => ‘SIM’);
$result = ‘<label for="featured">Destaque</label>’;
$result .= ‘<select name="featured" id="featured">’;
foreach ($options as $k => $v) {
$selected = ($k == $featured) ? ‘selected="selected"’ : ”;
$result .= ‘<option ‘ . $selected . ‘ value="’ . $k . ‘">’ . $v . ‘</option>’;
}
$result .= ‘</select>’;
echo $result;
}

public function addMetaBox() {
add_meta_box(‘custom_field_featured’, ‘Configurações Extras’, array($this, ‘createForm’), ‘post’);
}

public function saveFields($post_id) {
if (isset($_POST[‘featured’])) {
$featured = sanitize_text_field($_POST[‘featured’]);
update_post_meta($post_id, ‘featured’, $featured);
}
}

}

[/php]

bootstrap.php

[php]
<?php

require_once "AbstractMetaBox.php";
require_once "FeaturedMetaBox.php";

$featuredMetaBox = new FeaturedMetaBox();

[/php]

Espero que ajude. Até a próxima.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *