A menudo oímos hablar de la API de widgets del panel de WordPress, pero ¿qué es exactamente? Aprende para qué se utiliza esta API, por qué es tan importante para tu sitio WordPress y cómo añadir widgets fácilmente a tu panel de control. Mejora la funcionalidad de tu sitio.
¿Qué es la API de widgets del cuadro de mandos?
La API de widgets del panel de control es un conjunto de herramientas proporcionadas por WordPress que te permiten añadir, eliminar o modificar fácilmente los widgets de tu panel de control. Es perfecta para quienes desean comunicarse directamente con sus usuarios, ya sea para mostrar información o para que realicen determinadas acciones.
Eche un vistazo a estos ejemplos:
- Plugin JetpackAñade un widget al panel de control que permite ver las estadísticas de visitas del sitio, así como las entradas y páginas más populares.
- Podcasting muy sencilloEste plugin viene con Seriously Simple Stats, que le permite ver las estadísticas de su blog. Además, tiene un widget RSS feed que muestra noticias Castos - Castos es la empresa que desarrolló este plugin de blog.
Estas API y widgets hacen que su panel de WordPress sea más potente y personalizado, haciendo que la presentación de la información y la interacción con el usuario sean más directas y eficientes.
Cómo utilizar la API del widget del cuadro de mandos
A partir de la versión 2.7 de WordPress, la API de widgets del panel de control facilita la adición de nuevos widgets al panel de control de administración de WordPress. Las principales funciones que debes conocer sonwp_add_dashboard_widget()
función. La función toma múltiples argumentos:
$widget_id
- El identificador único de su widget, que también se utiliza como atributo id en la salida HTML del widget.$widget_nombre
- El nombre de su widget$callback
- La función que será llamada para mostrar el contenido del widget. La función debe mostrar el contenido del widget
Además, puede especificar algunos parámetros opcionales.
$control_callback
- Una función opcional que será llamada para mostrar los datos que el control ha utilizado para configurar el widget, así como para procesar cualquier dato que haya sido enviado por el control.$callback_args
- Matriz de parámetros opcionales que se pasarán a la función de devolución de llamada$contexto
- Una cadena opcional que define qué columnas mostrará el widget. El valor por defecto es "normal", pero otras opciones incluyen "side", "column3" y "column4 "$prioridad
- Cadena opcional que define la prioridad de los widgets en el contexto. El valor por defecto es "core", pero otras opciones incluyen "default", "high" y "low".
Para entender cómo funciona, vamos a crear un widget de salpicadero de ejemplo
Añadir widget de panel de control
Configuración inicial y salida
En primer lugar, cree un nuevo directorio de plugins y archivos PHP de plugins en el directorio wp-content/plugins. Para este ejemplo, puede llamarlowp-learn-dashboard-widgets
.
Para que el plugin sea reconocido como un plugin de WordPress, necesita añadir una cabecera de plugin que contenga al menos un valor de nombre de plugin.
Como con la mayoría de las APIs de WordPress, primero engancharás una acción. En este caso, utilice el métodowp_dashboard_setup
plataformaEsta acción se activa cuando se inicializa el panel de control. Usted agregará nuestro widget aquí.
add_action( 'wp_dashboard_setup', 'wp_learn_dashboard_widget' );
function wp_learn_dashboard_widget(){
wp_add_dashboard_widget(
'wp_learn_dashboard_widget',
'Widget del panel de WordPress'.
'wp_learn_dashboard_widget_callback'
);
}
function wp_learn_dashboard_widget_callback(){
echo '<p>Hola, mundo.</p>';
}
Si añades este código a un archivo de plugin vacío, activas el plugin y cargas el panel de control, verás tu widget en la parte inferior de la primera columna del panel de control.
Su función de devolución de llamada de contenido tiene mucha flexibilidad, siempre y cuando devuelva una llamada HTML válida.
wp_get_recent_posts()
Intentar utilizar funcionesAñade una lista de las últimas entradas a tu widget.
function wp_learn_dashboard_widget_callback(){
$args = array(
'numberposts' => 5, 'post_status' => 'publish', 'post_status' => 'publish')
'post_status' => 'publish'
);
$recent_posts = wp_get_recent_posts( $args );
echo '<ul>';
foreach( $recent_posts as $recent ){
echo '<li><a href="/es/' . get_permalink( $recent['ID'] ) . '/">' . $recent['post_title'] . '</a></li>';
}
echo '</ul>';
}
Añadir controles de widgets
También puedes añadir algunos controles para configurar tu widget. Digamos que quieres controlar el número de entradas mostradas. Para ello, configure la función de devolución de llamada de control.
Añadir una función para llamar awp_learn_dashboard_widget_control()
para procesar los datos.
function wp_learn_dashboard_widget_control(){
echo '';
echo ''; ''; }
}
Cuando actualizas el panel de control, parece que no ocurre nada, pero si pasas el ratón por encima del widget, verás un nuevo enlace que muestra la "Configuración". Al hacer clic en este enlace aparecerá el formulario que acabas de crear.
Ahora, necesitas actualizar el callback del control para manejar los datos enviados por el formulario.
Para guardar los datos, utilice la teclaactualizar_opción()
función (matem.)la función almacena el valor en la tabla de opciones.
function wp_learn_dashboard_widget_control_callback(){
if (isset($_POST['wp_learn_dashboard_widget_numberposts'])){
update_option( 'wp_learn_dashboard_widget_numberposts', sanitize_text_field( $_POST['wp_learn_dashboard_widget_numberposts'] ) );;
}
$number_posts = get_option( 'wp_learn_dashboard_widget_numberposts', 5 );
echo '';
echo ''; }
}
A continuación, debe volver a la función de devolución de llamada de contenido y actualizar la matriz$args
para utilizar el valor que acaba de guardar. Para obtener el valor, puede utilizar la funciónget_option()
función (matem.).
function wp_learn_dashboard_widget_callback(){
$numberposts = get_option( 'wp_learn_dashboard_widget_numberposts', 5 );
$args = array(
'numberposts' => $numberposts,
'post_status' => 'publish'
);
$recent_posts = wp_get_recent_posts( $args );
echo '<ul>';
foreach( $recent_posts as $recent ){
echo '<li><a href="/es/' . get_permalink( $recent['ID'] ) . '/">' . $recent['post_title'] . '</a></li>';
}
echo '</ul>';
}
llegar a un veredicto
Para obtener más información sobre el uso del widget del cuadro de mandos, incluidos ejemplos de cómo utilizar los parámetros opcionales de devolución de llamada y los parámetros de contexto y prioridad, consulte la páginaWidgets del panel de control Sección API.