Si nos sigues desde el inicio de esta serie, sabrás que estamos en la recta final de nuestras 50 acciones de WordPress. Para aquellos que acabáis de uniros, os encomino a que consultéis el artículo anterior (ya que este es una continuación) de igual manera que el resto de artículos están vinculados con su antecesor.
Esto te pondrá al día sobre hacia dónde nos dirigimos.
¡Empecemos!
Inyectar en el <head>
de las páginas de administración de plugin
Los plugins también tienen sus propias necesidades: Podrían requerir scripts de página o estilos para sus páginas de opciones. Con la acción admin_head-(plugin_page)
, es posible inyectar cosas en la etiqueta <head>
para páginas concretas de un plugin.
Añadir estilos a la página de administración de tu plugin
Si en alguna ocasión has necesitado añadir algunos estilos CSS a la página de opciones de tu plugin, el siguiente código te ayudará con esto:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php add_action( 'admin_head-tools_page_myplugin/myplugin', 'admin_head_plugin_page_example' ); function admin_head_plugin_page_example() { echo '<style type="text/css">' . '/* your style here */' . '</style>'; } // Example Source: https://codex.wordpress.org/Plugin_API/Action_Reference/admin_head-(plugin_page) ?> |
Cambia la línea del comentario con tu código CSS, sustituye la segunda parte del nombre de la acción (tools_page_myplugin/myplugin
) por tu propio plugin y ¡ya lo tienes!
Gestionar los pings antes de que sean procesados
Los «Pings son una de las características más antiguas de WordPress y la acción pre_ping
nos permite gestionar los pings antes de que sean procesados.
Deshabilitar los pings automáticos
WordPress no distingue entre los enlaces internos y los externos, en lo que a los pings se refiere. Para deshabilitar los pings automáticos puedes utilizar este pequeño fragmento de código.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php add_action( 'pre_ping', 'pre_ping_example' ); function pre_ping_example( &$links ) { foreach ( $links as $l => $link ) { if ( 0 === strpos( $link, get_home_url() ) ) { unset( $links[ $l ] ); } } } // Example Source: http://wpdevsnippets.com/remove-slef-pings/ ?> |
A partir de aquí, tu instalación de WordPress no creará pings para sus propias entradas.
Trabajar con la función get_header
La acción get_header
es invocada cuando la plantilla llama a la función get_header()
, haciendo que sea perfecto para funciones que modifican front-end del header de WordPress.
Activa un sencillo modo de mantenimiento
Si tienes una urgencia y no tienes tiempo para instalar y configurar un plugin «maintenance mode», puedes simplemente usar el siguiente código y ofrecer a todo el mundo, excepto administradores un error wp_die
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php add_action( 'get_header', 'get_header_example' ); function get_header_example() { if ( ! current_user_can( 'activate_plugins' ) ) { wp_die( 'The website will be back soon.' ); } } // Example Source: http://wp-snippets.com/articles/7-code-snippets-you-should-use-on-every-site/ ?> |
Como los únicos que disfrutan de la capacidad 'activate_plugins'
son los administradores (y super admins), el sitio permanecerá inaccesible para todo el mundo excepto estos.
Jugar con el <head>
de la página de inicio de sesión
La acción login_head
nos ayuda a controlar la etiqueta <head>
en la página de inicio de sesión.
Eliminar el efecto «shake» cuando introducimos credenciales erróneas
Si no te gusta el efecto de agitación que se produce al introducir información errónea en el inicio de sesión, puedes usar la siguiente función para eliminarlo.
1 2 3 4 5 6 7 8 9 |
<?php add_action( 'login_head', 'login_head_example' ); function login_head_example() { remove_action( 'login_head', 'wp_shake_js', 12 ); } // Example Source: http://wordpress.org/support/topic/plugin-simplemodal-login-remove-shake-effect ?> |
Aunque, a mí sí me gusta.
Trabajar con el footer del escritorio
En determinadas situaciones, podríamos querer controlar el footer de nuestros paneles de administración – no la sección del footer en sí, sino la parte anterior a la etiqueta </body>
. La acción admin_footer
hace exactamente eso.
Añadir rápidamente estilos para los estados de las entradas.
Contar con un conjunto consistente de colores es uno de los motivos que hacen atractivo el panel de administración de WordPress, pero no creo que haga ningún daño añadir algún color que señale cosas que deberían destacar visualmente – como los distintos estados de las entradas.
Si te pareces a mí y quieres ser capaz de distinguir las entradas publicadas de los borradores u otros estados, usa el siguiente código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php add_action( 'admin_footer', 'admin_footer_example' ); function admin_footer_example() { echo '<style type="text/css"> .status-draft { background-color: #FCE3F2; } .status-pending { background-color: #87C5D6; } .status-future { background-color: #C6EBF5; } .status-private { background-color: #F2D46F; } </style>'; } // Example Source: http://wpsnipp.com/index.php/functions-php/change-admin-postpage-color-by-status-draft-pending-published-future-private/ ?> |
Encolar scripts y estilos en la página del loop
Podemos encolar cosas al front-end con wp_enqueue_scripts
, y podemos enqueue cosas en el back-end con admin_enqueue_scripts
. ¿Y que hay para la página de inicio de sesión? Lo adivinaste: ¡En esta ocasión tu hook es login_enqueue_scripts
!
Cambiar el logotipo situado sobre el formulario de inicio de sesión
A mí me gusta el logo de WordPress, pero no creo que sea necesario que se muestre cada vez que mis usuarios inicien sesión en mis sitios web. Si piensas lo mismo, puedes sustituir el logo de WordPress por tu propio logo usando este útil fragmento de código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php add_action( 'login_enqueue_scripts', 'login_enqueue_scripts_example' ); function login_enqueue_scripts_example() { echo '<style type="text/css">' . '#login h1 a {' . 'background-image: url(' . get_bloginfo( 'template_directory' ) . '/images/login-logo.png);' . 'padding-bottom: 30px;' . '}' . '</style>'; } // Example Source: http://wpsnippy.com/add-custom-login-logo-in-your-wordpress-blog/ ?> |
Coloca el archivo login-logo.png
en la carpeta /images/
de tu tema ¡y listo!
Lo que te queda por leer:
-
Añadir columnas personalizadas a la lista de usuarios
-
Trabajar con la activación de los plugins
-
Gestionar las opciones del esquema de color
-
Gestiona el proceso de cierre de sesión
-
Final de la quinta parte
Deja una respuesta