Añadiendo campos personalizados en Wordpress de forma sencilla

  • Autor Autor OnlyOne
  • Fecha de inicio Fecha de inicio
O

OnlyOne

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola, eh visto que algunos blogs tiene campos personalizados (en la creación de entradas) y quisiera añadir esa función en mi blog.

Lo que quiero en sí es crear un campo para que los usuarios digiten un código que luego será mostrado en un div al comienzo de la entrada.

Algo como se muestra:


Enlace eliminado

czxccsd-288243.jpg


Estaría muy agradecido si alguien me brinda algún tutorial para lograr lo mostrado. 😛7:
 
No esta tan bien explicado aquí, pero puede ayudar: Enlace eliminado
 
Sería algo así, en el functions.php de tu theme:

Insertar CODE, HTML o PHP:
add_action('admin_init', 'codigo_add_custom_box', 1);
function codigo_add_custom_box() {
    add_meta_box( 
        'id_codigo',
        'Codigo',
        'wp_box_codigo',
        'post'
    );
}

function wp_box_codigo($post) {
wp_nonce_field(plugin_basename(__FILE__), 'codigo_noncename');
if($_GET['action']=='edit'){
$codigo=get_post_meta($post->ID,'codigo',true);
echo'<input name="codigo" type="text" value="'.$codigo.'" class="regular-text" style="width:100%" />';
}else{
echo'<input name="codigo" type="text" value="" class="regular-text" style="width:100%" />';	
}
}

add_action('save_post', 'guardar_codigo');

function guardar_codigo($post_id){
  if ( !wp_verify_nonce( $_POST['codigo_noncename'], plugin_basename(__FILE__) ) )
      return $post_id;

  if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) 
      return $post_id;

	
  if ( !current_user_can( 'edit_post', $post_id ) )
        return $post_id;
  
delete_post_meta($post_id, 'codigo');
if(!empty($_POST['codigo'])){
  add_post_meta($post_id, 'codigo', esc_attr($_POST['codigo']));
}
  
}

Por último si quieres que se muestre el código dentro de un post, edita el archivo single.php de tu theme y añade donde quieras mostrar el código esto:

Insertar CODE, HTML o PHP:
<?php echo get_post_meta(get_the_ID(), 'codigo', true); ?>
 
Gracias a ambos, al final usé el código proporcionado por [MENTION=2243]jonay[/MENTION] y funciona de lujo. :encouragement:
 
Sería algo así, en el functions.php de tu theme:

Insertar CODE, HTML o PHP:
add_action('admin_init', 'codigo_add_custom_box', 1);
function codigo_add_custom_box() {
    add_meta_box( 
        'id_codigo',
        'Codigo',
        'wp_box_codigo',
        'post'
    );
}

function wp_box_codigo($post) {
wp_nonce_field(plugin_basename(__FILE__), 'codigo_noncename');
if($_GET['action']=='edit'){
$codigo=get_post_meta($post->ID,'codigo',true);
echo'<input name="codigo" type="text" value="'.$codigo.'" class="regular-text" style="width:100%" />';
}else{
echo'<input name="codigo" type="text" value="" class="regular-text" style="width:100%" />';    
}
}

add_action('save_post', 'guardar_codigo');

function guardar_codigo($post_id){
  if ( !wp_verify_nonce( $_POST['codigo_noncename'], plugin_basename(__FILE__) ) )
      return $post_id;

  if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) 
      return $post_id;

    
  if ( !current_user_can( 'edit_post', $post_id ) )
        return $post_id;
  
delete_post_meta($post_id, 'codigo');
if(!empty($_POST['codigo'])){
  add_post_meta($post_id, 'codigo', esc_attr($_POST['codigo']));
}
  
}

Por último si quieres que se muestre el código dentro de un post, edita el archivo single.php de tu theme y añade donde quieras mostrar el código esto:

Insertar CODE, HTML o PHP:
<?php echo get_post_meta(get_the_ID(), 'codigo', true); ?>


Esto me ha servido mucho, Gracias.
 
gracias busco esto hace un mes!
 
lo maximo te pasaste 😛 tambien lo andaba buscando , no se si podrias añadirle una funcion mas

quisiera para insertar un video o imagen
cosa que en el campo se pondria la url y la funcion le añada los <img>.... url </img>
 
Si quieres tambien puedes usar types!! 🙂
 
Atrás
Arriba