Aquí hay algunos fragmentos de código cortos pero prácticos que pueden hacer que su vida como desarrollador de WordPress sea un poco más fácil. Cubriremos un poco de todo, desde cómo eliminar automáticamente las publicaciones, cómo distribuir rápidamente una miniatura de una publicación, hasta cómo redirigir a los usuarios una vez que hayan iniciado sesión. Abra su programa de reemplazo de texto y prepárese para agregar algunos nuevos atajos!
Comenzaremos con unas pocas frases simples..
Desde v3.1, WordPress ha proporcionado una barra de administración de front-end para todos los usuarios. Dependiendo de su intención, esto puede restar valor a la apariencia de su sitio. Para deshabilitarlo, use la función show_admin_bar:
show_admin_bar (FALSE);
También puede deshabilitar esto desde su perfil de usuario, pero esto es especialmente útil si tiene un montón de autores / miembros en el sitio y necesita deshabilitar la barra por completo..
Las publicaciones en papel pueden acumularse si olvida eliminarlas permanentemente. Use este código en /wp-config.php para vaciar sus publicaciones desechadas:
define ('EMPTY_TRASH_DAYS', 5);
Cuando se está desarrollando, necesita ver los errores que está lanzando su código. Tenga en cuenta que no todos los errores detienen la ejecución de un script, sin embargo, son errores y pueden tener efectos extraños en su otro código. Entonces, active la depuración de WordPress colocando esto en su /wp-config.php:
define ('WP_DEBUG', TRUE);
Puede que te sorprenda lo que ves en el pie de página. Recuerde desactivar la depuración cuando su sitio esté listo para publicarse. La información de depuración puede ser valiosa para los hackers.
Cuando un usuario inicia sesión, normalmente se envía directamente a su panel de control. Es posible que esta no sea la experiencia que desea que tengan los usuarios. El siguiente código utiliza el filtro login_redirect para redirigir a los no administradores a la página de inicio:
add_filter ("login_redirect", "subscriber_login_redirect", 10, 3); función subscriber_login_redirect ($ redirect_to, $ request, $ user) if (is_array ($ user-> roles)) if (in_array ('administrator', $ user-> roles)) return home_url ('/ wp-admin /' ); devolver home_url ();
Según el rol del usuario, puede enviarlos a cualquier página que desee.
Desde v2.9, WordPress ha proporcionado una opción de imagen en miniatura de publicación, al igual que las imágenes que ves aquí en wp.tutsplus. En la página de publicación del administrador se llama 'Imagen destacada'. Pero si no tiene una imagen para su publicación, simplemente puede llamar a una imagen predeterminada.
Dentro del bucle:
if (has_post_thumbnail ()) the_post_thumbnail (); else echo '';
Incluso puedes tener un montón de imágenes predeterminadas y elegir una al azar
En lugar de: Publicado el 12 de octubre de 2011, podemos tener: Publicado hace 2 días.
Como se usa en el bucle:
echo human_time_diff (get_the_time ('U'), current_time ('timestamp')). 'hace';
Utilízalo también en los comentarios:
echo human_time_diff (get_comment_time ('U'), current_time ('timestamp')). 'hace';
O tal vez muestre la fecha / hora regular de la publicación solo si hace más de una semana, de lo contrario, muestre la hora anterior:
$ time_diff = current_time ('timestamp') - get_the_time ('U'); si ($ time_diff < 604800)//seconds in a week = 604800 echo 'Posted ' . human_time_diff(get_the_time('U'), current_time('timestamp')) . ' ago'; else echo 'Posted on ' . get_the_date() . ', ' . get_the_time(); ;
Es bueno que los usuarios puedan ver cuando el autor de una publicación hace un comentario sobre la publicación, tal como lo hacemos aquí en wp.tutsplus. Todo lo que tenemos que hacer es agregar una clase a la envoltura de comentarios y luego diseñarla en el tema.
Para encontrar qué comentarios son hechos por el autor de la publicación, usamos este código para mostrar un nombre de clase:
if ($ comment-> user_id == get_the_author_meta ('ID')) echo ''; else echo '';Comparamos la ID de usuario del comentario con la ID del autor de la publicación de get_the_author_meta. Si coinciden, hacemos eco de una clase de author_comment que luego podemos diseñar con css.
8. Mostrar usuario, publicación e información de comentarios para su sitio de WordPress
Puede consultar su base de datos de WordPress directamente para mostrar información útil del sitio. Coloque esta función en sus funciones.php y llámela a cualquier parte de sus archivos de plantilla con get_site_data ()
function get_site_data () global $ wpdb; $ users = $ wpdb-> get_var ("SELECT COUNT (ID) FROM $ wpdb-> users"); $ posts = $ wpdb-> get_var ("SELECT COUNT (ID) FROM $ wpdb-> posts WHERE post_status = 'publish'"); $ comments = $ wpdb-> get_var ("SELECT COUNT (comment_ID) FROM $ wpdb-> comments"); eco ''. $ usuarios. 'miembros han hecho'. $ comentarios. 'comentarios en'. $ puestos. 'mensajes
';Esto es mejor que llamar a algunas de las funciones nativas de WordPress, ya que cuenta todos los tipos de publicaciones y solo las publicaciones publicadas actualmente..
9. Añadir un archivo JavaScript correctamente
WordPress nos da la función wp_enqueue_script para que podamos agregar scripts de forma segura.
Digamos que tenemos un directorio de scripts bajo nuestro directorio de plantillas, y allí tenemos un script llamado do_stuff.js. Así que tenemos url_to_template_dir / scripts / do_stuff.js
Incluyamos nuestro guión de la manera correcta. Esto debe incluirse antes de la llamada wp_head en su archivo de encabezado:
$ script_url = get_template_directory_uri (). '/scripts/do_stuff.js'; wp_enqueue_script ('do_stuff', $ script_url);Aquí concatenamos nuestra ruta y nombre de script en la salida de la función get_template_directory_uri de WordPress. A continuación, ponemos en cola el script proporcionando un identificador (para una posible referencia posterior) y la URL de nuestro script. WordPress ahora incluirá nuestro script en cada página.
La verdadera ventaja de todo esto es que, digamos que nuestro script do_stuff era un script jQuery, entonces también deberíamos tener jQuery cargado.
Ahora, jQuery se incluye de forma predeterminada en WordPress y se ha registrado previamente con el gestor jQuery. Así que todo lo que necesitamos hacer es poner en cola nuestra jQuery, luego poner en cola nuestra do_stuff.js, así:
wp_enqueue_script ('jquery'); $ script_url = get_template_directory_uri (). '/scripts/do_stuff.js'; wp_enqueue_script ('do_stuff', $ script_url, array ('jquery'));Tenga en cuenta el tercer parámetro de wp_enqueue_script para do_stuff: eso le dice a WordPress que nuestro script do_stuff depende del archivo con el manejador jquery. Esto es importante porque significa que jquery se cargará antes de do_stuff. De hecho, podría tener las declaraciones en cola en orden inverso y no importaría, ya que la definición de las dependencias de una secuencia de comandos le permite a WordPress colocar las secuencias de comandos en el orden de carga correcto para que todos trabajen felices juntos..