Crear Custom Fields per a mostrar un vídeo de forma automàtica en WordPress


De vegades volem automatitzar alguns procesos o tenir l’opció d’introduïr un camp i que sempre es mostre al mateix lloc, com per exemple un vídeo.  En WordPress tenim els “Custom Fields” (i Custom Pots) per a poder crear nous camps i entrades personalitzades. Si el que volem es crear senzillament un nou camp en la zona d’administració per a poder introduïr una adreça de Youtube o Vimeo, podem fer-ho de la següent forma.

Primerament, i utilitzant un tema fill, anem al “functions.php” i posem un codi semblant al següent:

/*
**** Vídeo per a Diània ****
*/

	
add_action('add_meta_boxes', 'videoDiania');
function videoDiania() {
    add_meta_box('video','Video','el_video','post','normal','high');
}

function el_video() {
    global $wpdb, $post;
    $value  = get_post_meta($post->ID, 'video', true);
    echo '<label>Vídeo</label>
    <input type="text" name="video" id="video" value="'.htmlspecialchars($value).'" style="width: 100px;" /> ';
}

add_action('save_post', 'guardar_video');
add_action('publish_post', 'guardar_video');
function guardar_video() {
global $wpdb, $post;
if (!$post_id) $post_id = $_POST['post_ID'];
if (!$post_id) return $post;
$price= $_POST['video'];
update_post_meta($post_id, 'video', $price);
}

La funció “el_video” es senzillament el formulari d’introducció de la URL del vídeo en l’entrada. Apareixerà just davall del post que aneu a crear (si no veieu el camp, cal que anigueu a la part de dalt de WordPress, “Opcions de Pantalla”, i marcar aquest nou camp).

Després creem la funció videoDiania (podeu posar el nom que vulgueu) . Aquesta funció s’afegeix amb un “add_action” a “add_meta_boxes”, que s’encarrega d’afegir precisament els camps “meta” a les entrades.

L’últim troç de codi s’encarrega de guardar aquests camp en la nostra base de dades.

Finalment, inserirem aquest codi en el nostre single.php ( o on desitjeu que es mostre). Utilitzant la funció wp_oembed_get, WordPress s’encarregarà de mostrar el vídeo automàticament.

<?php $video= get_post_meta(get_the_ID(), 'video', true); ?>
<?php echo $embed_code = wp_oembed_get( $video ); ?>

 


Deixa un comentari

L’adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *

Información básica sobre protección de datos Ver más

  • Responsable: Jordi Juan Pérez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a NICALIA que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Ver Política de cookies
Privacidad