Las etiquetas condicionales son una de las muchas grandes estructuras que WordPress tiene para ayudarnos a desarrollar para WordPress más fácilmente. En este artículo, conoceremos algunas de ellas y las utilizaremos en funciones de ejemplo, como eliminar elementos de las páginas de error o cambiar el icono de página de administrador..
Básicamente son "sí-no preguntas": devuelven solo VERDADERO o FALSO cuando los usa. Los usamos en Si
declaraciones: si la declaración es VERDADERA o FALSA, podemos procesar nuestro código de acuerdo con la responder.
Puedes ver todas las etiquetas condicionales en el códice de WordPress.
Ahora, vamos a la parte divertida! Hay diez funciones geniales que usan etiquetas condicionales en este artículo..
is_front_page ()
Saludar al visitante desde la página de inicio puede ser agradable para el visitante, o puede colocar una advertencia para el mantenimiento programado, o puede mostrar un anuncio emergente horrible. Lo que necesites hacer, así es como lo haces:
Primero, necesita obtener el complemento jQuery de Colorbox aquí. Obtener colorbox.min.js desde el "caja de color / caja de color"carpeta y la colorbox.css (y el correspondiente "imagenes"carpeta) a una"caja de color"carpeta dentro de su carpeta de temas.
Entonces, necesitas crear un colorbox.load.js Archivo para cargar la ventana emergente. Coloque este archivo en el "caja de color"carpeta, también:
jQuery (document) .ready (function ($) var $ popup = $ ("# mypopupup"); $ .colorbox (href: $ popup););
Después de eso, coloca tu código HTML emergente (con el "mypopup
"ID para CSS) dentro de su tema index.php archívalo y escóndelo en tu style.css archivo (con "#mypopup mostrar: ninguno;
").
function front_popup () if (is_front_page ()) // load colorbox.min.js wp_enqueue_script ('colorbox-js', get_template_directory_uri (). '/ colorbox / colorbox.min.js', array ('jquery')) ; // cargar colorbox.load.js wp_enqueue_script ('colorbox-load-js', get_template_directory_uri (). '/ colorbox / colorbox.load.js', array ('colorbox-js')); // cargar colorbox.css wp_enqueue_style ('colorbox-css', get_template_directory_uri (). '/ colorbox / colorbox.css'); add_action ('wp_head', 'front_popup');
Pega esto en tu funciones.php archiva y eres bueno para ir!
Nota: Para que su ventana emergente desaparezca, debe agregar un enlace dentro de su ventana emergente. Esto va a hacer muy bien:
Cerrar
is_page ()
Es posible que deba cargar algunos archivos JavaScript o CSS externos para una página específica, como su página "Acerca de" o una página de descarga para su producto. Sí, también puede incluirlos en su contenido, pero no es una buena práctica. Aquí está la buena práctica:
function extra_assets () if (is_page (123)) // '123' es el ID de la página que estamos revisando para wp_enqueue_script ('my-script', get_template_directory_uri (). '/ some / path / in / your / tema / carpeta / script.js '); wp_enqueue_style ('my-style', get_template_directory_uri (). '/ some / path / in / your / theme / folder / style.css'); add_action ('wp_head', 'extra_assets');
Como el primer ejemplo, agregando esto a tu funciones.php archivo es suficiente. (No te olvides de cambiar el "123
"número con el ID de tu página!)
en_categoria ()
No siempre es necesario, pero es posible que necesite una sección "Más de esta categoría" para una categoría (pero no para las demás). Supongamos que tiene una categoría de "Noticias" y las otras categorías no son adecuadas para la sección que vamos a crear. La etiqueta condicional en_categoria ()
nos ayudará con eso:
function more_from_category ($ cat_ID) if (in_category ($ cat_ID) $ posts = get_posts ('numberposts = 5 & category ='. $ cat_ID); $ output = 'Más de esta categoría
'; $ salida. = '
Construye esta función como quieras y agrégala a tu funciones.php expediente. Entonces, ve a la single.php y colocar el código () donde quieres que aparezca la sección. Todo lo que necesita considerar es colocar el código dentro de The Loop. Eso es todo!
is_preview ()
Esto no es obligatorio (después de todo, solo estamos aprendiendo ejemplos para estas Etiquetas condicionales) pero puede ser una buena idea recordar a usted mismo (oa sus autores) que la página que se muestra es la página de "vista previa". Añade esto a tu tema funciones.php expediente:
función preview_warning () if (is_preview ()) echo 'Recuerda, todavía estás en la página de vista previa!'; add_action ('the_content', 'preview_warning');Por supuesto, esto no es suficiente, necesita editar el style.css Para dar forma al texto de advertencia. Algo como esto:
# preview-warning background: # 800; altura de línea: 50px; tamaño de letra: 30px; font-weight: negrita; text-align: center; posición: fijo abajo: 0;Hay que ir!
Función 5. Eliminar ciertos elementos de sus 404 páginas con
is_404 ()
Esta es la punta más fácil de todas. No creo que ni siquiera necesite una explicación, simplemente envuelva esos "ciertos elementos" (cosas que no quiere que aparezcan en sus páginas de error, como los anuncios) con el código a continuación y listo.!
if (! is_404 ()) // Aquí vienen los "ciertos elementos". Es fácil. Seriamente.
Función 6. Nunca vuelva a mostrar extractos generados automáticamente con
has_excerpt ()
yo solo odio Los extractos autogenerados. Así que los elimino, con el código realmente proporcionado por el Codex:
function full_excerpt () if (! has_excerpt ()) echo "; else echo get_the_excerpt ();Agrega esto a la funciones.php archivo y luego todo lo que tienes que hacer es cambiar las instancias de
el extracto()
confull_excerpt ()
.
Función 7. Listar solo los títulos de publicaciones (en lugar de publicaciones completas) en archivos basados en fechas con
is_date ()
A veces, listar solo los títulos es más que suficiente en ciertas páginas de archivo, como los archivos basados en fechas. Así, por ejemplo, la etiqueta condicional
is_date ()
, Nos desharemos de las cosas en The Loop excepto el título..Esto es un poco complicado ya que archive.php Los archivos son diferentes en cada tema. (Y si hay un fecha.php archivo en su tema, debe editar ese. Busque el bucle en el código y cambie el código dentro del bucle con esto:
if (is_date ()) // Si su tema usa encabezados h2 para los títulos de las publicaciones, use h2. Si usa h1, usa h1. eco ''.el título().'
'; else // ... // El código original dentro de The Loop //…
Función 8. Un Favicon separado para su panel de administración con
is_admin ()
Este consejo puede ser muy útil si te gusta trabajar con 20 pestañas abiertas, todas para tu blog. Solo edita tu favicon un poco y guárdalo como adminfav.ico - por ejemplo, mi panel de administración de favicon es solo el rojo versión de mi favicon original.
De todos modos, así es como lo haces:
function admin_favicon () if (is_admin ()) echo ''; add_action ('admin_head', 'admin_favicon');
Función 9. Mostrar una miniatura predeterminada si la publicación no tiene una
has_post_thumbnail ()
Esto es una necesidad para un buen tema. Si tiene alguna parte en su tema donde se muestran las miniaturas de las imágenes destacadas, debería Reemplace la
the_post_thumbnail ()
Funciona con el siguiente código:if (has_post_thumbnail ()) the_post_thumbnail (); else echo '';De esta manera, puede mantener la coherencia de los aspectos de su tema.
Función 10. Mostrar un menú especial para sus usuarios registrados con
is_user_logged_in ()
Si usa el sistema de membresía en WordPress y tiene miembros, es posible que desee crear un menú especial solo para sus miembros registrados. Así es cómo:
function member_menu () if (is_user_logged_in ()) echo '';Menú de miembros
- Primer elemento del menú
- Segundo elemento del menú
- Tercer elemento del menú
Este es un código estándar de "título y lista", debes jugar con el código para que sea como tu barra lateral
div
s y luego coloque el códigoen tus temas barra lateral.php expediente.
Además, esto es solo un ejemplo, pero lo ideal sería utilizar los menús personalizados de WordPress con
wp_nav_menu ()
aquí. Uno estándar y otro para miembros, luego puede continuar administrándolos desde el panel de administración de WordPress. Puedes leer más sobre elwp_nav_menu ()
funciona aquí.
Cualquier otra idea?
Estas fueron mis 10 ideas favoritas para usar etiquetas condicionales. ¿Qué tal el tuyo? Si tiene algo que compartir, comente a continuación para que podamos extender esta publicación con más ideas.!