Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Copa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Cómo añadir un shortcode interfaz de usuario en WordPress con Shortcake

Nota editorial: Ganamos una comisión de los enlaces de socios en WPBeginner. Las comisiones no afectan a las opiniones o evaluaciones de nuestros editores. Más información sobre Proceso editorial.

Si está desarrollando un sitio WordPress para un cliente, entonces es probable que tenga shortcodes para que sus clientes los usen. El problema es que muchos principiantes no saben cómo añadir shortcodes y si hay parámetros complejos involucrados, entonces es aún más difícil. Shortcake ofrece una solución añadiendo una interfaz de usuario para shortcodes. En este artículo, le mostraremos cómo añadir una interfaz de usuario para shortcodes en WordPress con Shortcake.

¿Qué es Shortcake?

WordPress ofrece una manera más fácil de añadir código ejecutable dentro de entradas y páginas mediante el uso de shortcodes. Muchos temas y plugins de WordPress permiten a los usuarios añadir funcionalidad adicional mediante shortcodes. Sin embargo, a veces estos shortcodes pueden complicarse cuando un usuario necesita introducir parámetros para personalizarlos.

Por ejemplo, en un típico tema de WordPress si hay un shortcode para introducir un botón, entonces el usuario probablemente necesitará añadir al menos de dos a cinco parámetros. Por ejemplo

[themebutton url=”http://example.com” title=”Download Now” color=”purple” target=”newwindow”]

Shortcake es un plugin de WordPress y una futura característica propuesta para WordPress. Su objetivo es resolver este problema proporcionando una interfaz de usuario para introducir estos valores. Esto hará que los shortcodes sean mucho más fáciles de usar.

Shortcake Bakery Plugin

Primeros pasos

Este tutorial está dirigido a usuarios que son nuevos en el desarrollo de WordPress. Los usuarios principiantes a los que les guste retocar sus temas de WordPress también encontrarán útil este tutorial.

Dicho esto, vamos a empezar.

Lo primero que debe hacer es instalar y activar el plugin Shortcake (Shortcode UI).

Ahora necesitarás un shortcode que acepte algunos parámetros de entrada del usuario. Si necesitas un pequeño repaso, aquí tienes cómo añadir un shortcode en WordPress.

Para este tutorial vamos a utilizar un shortcode simple que permite a los usuarios insertar un botón en sus entradas o páginas de WordPress. Aquí está el código de muestra para nuestro shortcode, y puedes usarlo añadiéndolo al archivo de funciones de tu tema o en un plugin específico del sitio.

add_shortcode( 'cta-button', 'cta_button_shortcode' );

function cta_button_shortcode( $atts ) {
       extract( shortcode_atts(
               array(
                       'title' => 'Title',
                       'url' => ''
               ),
               $atts
       ));
       return '<span class="cta-button"><a href="' . $url . '">' . $title . '</a></span>';
}

También tendrás que añadir algo de CSS para dar estilo a tu botón. Puedes usar este CSS en la hoja de estilos de tu tema.


.cta-button {
padding: 10px;
font-size: 18px;
border: 1px solid #FFF;
border-radius: 7px;
color: #FFF;
background-color: #50A7EC;
}

Así es como un usuario usará el shortcode en sus entradas y páginas:

[cta-button title="Download Now" url="http://example.com"]

Ahora que tenemos un shortcode que acepta parámetros, vamos a crear una interfaz de usuario para él.

Registrando la interfaz de usuario de su shortcode con Shortcake

La API de Shortcake le permite registrar la interfaz de usuario de su shortcode. Tendrá que describir qué atributos acepta su shortcode, tipos de campos de entrada y qué tipos de entradas mostrarán la interfaz de usuario del shortcode.

He aquí un fragmento de código de ejemplo que utilizaremos para registrar la interfaz de usuario de nuestro shortcode. Hemos intentado explicar cada paso con comentarios integrados. Puedes pegar esto en el archivo de funciones de tu tema o en un plugin específico del sitio.

shortcode_ui_register_for_shortcode(

/** Your shortcode handle */
'cta-button',

/** Your Shortcode label and icon */
array(

/** Label for your shortcode user interface. This part is required. */
'label' => 'Add Button',

/** Icon or an image attachment for shortcode. Optional. src or dashicons-$icon.  */
'listItemImage' => 'dashicons-lightbulb',

/** Shortcode Attributes */
'attrs'          => array(

/**
* Each attribute that accepts user input will have its own array defined like this
* Our shortcode accepts two parameters or attributes, title and URL
* Lets first define the UI for title field. 
*/

array(

/** This label will appear in user interface */
'label'        => 'Title',

/** This is the actual attr used in the code used for shortcode */
'attr'         => 'title',

/** Define input type. Supported types are text, checkbox, textarea, radio, select, email, url, number, and date. */
'type'         => 'text',

/** Add a helpful description for users
'description'  => 'Please enter the button text',
),

/** Now we will define UI for the URL field */

array(
'label'        => 'URL',
'attr'         => 'url',
'type'         => 'text',
'description'  => 'Full URL',
),
),
),

/** You can select which post types will show shortcode UI */
'post_type'     => array( 'post', 'page' ), 
)
);

Eso es todo, ahora puedes ver la interfaz de usuario shortcode en acción editando una entrada. Simplemente haz clic en el botón Añadir medios encima del editor de una entrada. Esto hará que aparezca el cargador de medios donde verás un nuevo aviso ‘Insertar elemento de entrada’ en la columna de la izquierda. Al hacer clic en él se mostrará un botón para insertar el código.

Inserting your shortcode in a post or page

Al hacer clic en la miniatura que contiene el icono de la bombilla y su etiqueta shortcake le mostrará la interfaz de usuario shortcode.

User interface for a simple shortcode

Añadir shortcode con múltiples entradas

En el primer ejemplo, hemos utilizado un shortcode muy básico. Ahora vamos a hacerlo un poco más complicado y mucho más útil. Vamos a añadir un shortcode que permita a los usuarios elegir el color del botón.

Primero añadiremos el shortcode. Es casi el mismo shortcode, excepto que ahora exceptúa la entrada del usuario para el color.


add_shortcode( 'mybutton', 'my_button_shortcode' );

function my_button_shortcode( $atts ) {
       extract( shortcode_atts(
               array(
                       'color' => 'blue',
                       'title' => 'Title',
                       'url' => ''
               ),
               $atts
       ));
       return '<span class="mybutton ' . $color . '-button"><a href="' . $url . '">' . $title . '</a></span>';
}

Dado que nuestro shortcode mostrará los botones en diferentes colores, tendremos que actualizar nuestro CSS también. Puedes usar este CSS en la hoja de estilos de tu tema.

.mybutton {
    padding: 10px;
    font-size: 18px;
    border: 1px solid #FFF;
    border-radius: 7px;
    color: #FFF;
}

.blue-button  {
    background-color: #50A7EC;
}
.orange-button { 
background-color:#FF7B00;
} 

.green-button { 
background-color:#29B577;
}

Así es como se verán los botones:

Call to action buttons created with shortcode

Ahora que nuestro shortcode está listo, el siguiente paso es registrar el shortcode UI. Vamos a utilizar esencialmente el mismo código, excepto que esta vez tenemos otro parámetro para el color y estamos ofreciendo a los usuarios seleccionar entre los botones azul, naranja o verde.

shortcode_ui_register_for_shortcode(

/** Your shortcode handle */
'mybutton',

/** Your Shortcode label and icon */
array(

/** Label for your shortcode user interface. This part is required. */
'label' => 'Add a colorful button',

/** Icon or an image attachment for shortcode. Optional. src or dashicons-$icon.  */
'listItemImage' => 'dashicons-flag',

/** Shortcode Attributes */
'attrs'          => array(

/**
* Each attribute that accepts user input will have its own array defined like this
* Our shortcode accepts two parameters or attributes, title and URL
* Lets first define the UI for title field. 
*/

array(

/** This label will appear in user interface */
'label'        => 'Title',

/** This is the actual attr used in the code used for shortcode */
'attr'         => 'title',

/** Define input type. Supported types are text, checkbox, textarea, radio, select, email, url, number, and date. */
'type'         => 'text',

/** Add a helpful description for users */
'description'  => 'Please enter the button text',
),

/** Now we will define UI for the URL field */

array(
'label'        => 'URL',
'attr'         => 'url',
'type'         => 'text',
'description'  => 'Full URL',
),

/** Finally we will define the UI for Color Selection */ 
array(
'label'		=> 'Color',
'attr'      => 'color',

/** We will use select field instead of text */
'type'		=> 'select',
    'options' => array(
        'blue'		=> 'Blue',
        'orange'	=> 'Orange',
        'green'		=> 'Green',
    ),
),

),

/** You can select which post types will show shortcode UI */
'post_type'     => array( 'post', 'page' ), 
)
);

Eso es todo, ahora puede editar una entrada o página y hacer clic en el botón Añadir medios. Verás el shortcode que acabas de añadir en “Insertar elementos de la entrada”.

Selecting post element or shortcode to insert

Al hacer clic en el shortcode recién creado, aparecerá la interfaz de usuario del shortcode, donde podrá introducir los valores.

Shortcode UI with a select field

Puede descargar el código utilizado en este tutorial como plugin.

wpb-shortcake-tutorial

Hemos incluido el CSS, así que puedes usarlo para estudiar o usarlo para añadir tus propios botones de llamada a la acción en WordPress usando una interfaz de usuario más sencilla. No dudes en modificar el código fuente y jugar con él.

Esperamos que este artículo te haya ayudado a aprender cómo añadir una interfaz de usuario para shortcodes en WordPress con Shortcake. También puedes echar un vistazo a estos 7 consejos esenciales para usar shortcodes en WordPress.

Si te ha gustado este artículo, suscríbete a nuestro canal de YouTube para ver tutoriales en vídeo sobre WordPress. También puedes encontrarnos en Twitter y Facebook.

Descargo: Nuestro contenido está apoyado por los lectores. Esto significa que si hace clic en algunos de nuestros enlaces, podemos ganar una comisión. Vea cómo se financia WPBeginner , por qué es importante, y cómo puede apoyarnos. Aquí está nuestro proceso editorial .

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

El último kit de herramientas de WordPress

Obtenga acceso GRATUITO a nuestro kit de herramientas - una colección de productos y recursos relacionados con WordPress que todo profesional debería tener!

Reader Interactions

3 comentariosDeja una respuesta

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Waqar says

    hello, i want to modify my wordpress theme’s search box. because theme’s search box don’t search all over the place in website except title of post/product. please help me to get rid of this problem.

Deja tu comentario

Gracias por elegir dejar un comentario. Tenga en cuenta que todos los comentarios son moderados de acuerdo con nuestros política de comentarios, y su dirección de correo electrónico NO será publicada. Por favor, NO utilice palabras clave en el campo de nombre. Tengamos una conversación personal y significativa.