Página principal » WordPress » 10 fragmentos de WordPress para personalizaciones de temas

    10 fragmentos de WordPress para personalizaciones de temas

    Cuando utiliza WordPress, es extremadamente fácil cambiar el aspecto de su sitio web, gracias a los temas. Hay muchos (como muchos) temas de WordPress disponibles de forma gratuita o por un precio superior. Elija un tema, instálelo y podrá obtener un aspecto completamente nuevo para su sitio web en cuestión de minutos..

    Pero más allá de dar la apariencia, un tema de WordPress puede extenderse de muchas maneras también. Puedes construir nuevas funcionalidades con complementos, pero en esta publicación, estamos viendo Funciones de WordPress que pueden ser útiles para tu tema. Solo tiene que poner estas funciones en el archivo functions.php de su tema para que el efecto tenga lugar.

    Lectura recomendada: Cómo administrar y usar fragmentos de código en WordPress

    1. Cambiar la longitud del extracto

    Un extracto Es una pequeña parte de tu post que puedes ver. WordPress, en este caso, establece el extracto de 55 palabras de forma predeterminada. Pero, WordPress nos permite personalizar la longitud predeterminada a través del excerpt_length filtro, como sigue.

     function my_excerpt_length ($ length) return 30;  add_filter ('excerpt_length', 'my_excerpt_length', 999); 

    El valor de retorno se refiere a la suma de palabras que se mostrarán como un extracto. En el ejemplo anterior, mostramos 30 palabras por cada publicación en el extracto.

    2. Reducir las revisiones posteriores

    WordPress permite a los escritores y bloggers mirar hacia atrás en las versiones anteriores de su trabajo. Sin embargo, a medida que las revisiones aumentan en número, también pueden afectar el rendimiento de un sitio web, ya que cada nueva revisión registrada agrega una nueva fila a la base de datos. Este problema solo empeorará con el tiempo..

    Para resolver este problema, puede establecer cuántas revisiones desea guardar en la base de datos. Para ello, abre tu wp-config.php y agregue este fragmento a continuación. Cambie el número para limitar el número de revisiones que desea guardar.

     define ('WP_POST_REVISIONS', 5); 

    Si prefiere desactivar la revisión de WordPress, cambie el valor a FALSO Me gusta esto:

     define ('WP_POST_REVISIONS', falso); 

    3. Establecer automáticamente la imagen destacada en una publicación

    Es una práctica común mostrar una imagen destacada que representa o describe una publicación. WordPress nos obliga a configurar esta imagen destacada a mano. Para que el proceso sea más eficiente, podemos configurar la imagen mostrada. automáticamente Haciendo la primera imagen en el post la imagen destacada. Usa el siguiente fragmento de código.

     función autoset_featured () global $ post; $ already_has_thumb = has_post_thumbnail ($ post-> ID); if (! $ already_has_thumb) $ attachment_image = get_children ("post_parent = $ post-> ID & post_type = attachment & post_mime_type = image & numberposts = 1"); if ($ attachment_image) foreach ($ attachment_image como $ attachment_id => $ attachment) set_post_thumbnail ($ post-> ID, $ attachment_id);  add_action ('the_post', 'autoset_featured'); add_action ('save_post', 'autoset_featured'); add_action ('draft_to_publish', 'autoset_featured'); add_action ('new_to_publish', 'autoset_featured'); add_action ('pending_to_publish', 'autoset_featured'); add_action ('future_to_publish', 'autoset_featured'); 

    4. Fuerza de comentario mínimo de longitud

    No soy un fan de los comentarios de 1-2 palabras como “Buen post!”, “Buen trabajo!”? Aunque el comentario podría no ser spam, estos son el tipo de comentarios que normalmente no fomentarán más discusiones. Si desea que sus comentaristas hablen, puede establecer un mínimo de palabras requeridas antes de que los lectores puedan publicar sus comentarios..

    A continuación se muestra el fragmento para establecer el número mínimo de caracteres o palabras para los comentarios. Ponlo adentro funciones.php.

     function minimal_comment_length ($ commentdata) $ minimalCommentLength = 20; if (strlen (trim ($ commentdata ['comment_content'])) 

    $ minimalCommentLength el valor es el número mínimo de caracteres que se requiere, realice los cambios a este valor para modificar este.

    5. Deshabilitar enlaces de comentarios de usuarios

    Los enlaces que se incluyen en el formulario de comentarios se convertirán instantáneamente en enlaces opcionales una vez que se publiquen y aprueben. Los spammers pueden explotar esto, alentándolos a inundar su sección de comentarios con un enlace a su página de "spammy"..

    Para contrarrestar esto, puede agregar este filtro para deshabilitar la capacidad de hacer clic en los enlaces y conservarlos simplemente como texto sin formato..

     remove_filter ('comment_text', 'make_clickable', 9); 

    6. Eliminar la clase y la identificación de los menús personalizados

    Si observa el menú personalizado en WordPress, encontrará un montón de clases e identificaciones en cada elemento del menú. Use el fragmento a continuación para eliminar las clases que no desea y para mantener las clases que necesita.

     función my_css_attributes_filter ($ var) return is_array ($ var)? array_intersect ($ var, array ('current-menu-item')): "; add_filter ('nav_menu_css_class', 'my_css_attributes_filter', 100, 1); add_filter ', add_filter ('page_css_class', 'my_css_attributes_filter', 100, 1);

    En el código anterior, estamos manteniendo el item-menu actual clase.

    7. Excluir páginas de búsqueda

    Las búsquedas en WordPress obtendrán resultados tanto de las páginas como de las publicaciones, a veces sin mucha relevancia para su consulta de búsqueda. Para evitar esto, puede filtrar los resultados de la búsqueda para mostrar solo los que se encuentran en las publicaciones. Añadir este fragmento a function.php para hacer esto.

     función SearchFilter ($ query) if ($ query-> is_search) $ query-> set ('post_type', 'post');  devolver $ consulta;  add_filter ('pre_get_posts', 'SearchFilter'); 

    8. Reemplazar el texto Howdy

    ¿Aburrido con el texto 'Howdy'? Si desea cambiar eso a un saludo especial en su sitio, simplemente agréguelo a functions.php y el efecto se producirá de inmediato..

     función change_howdy ($ traducido, $ texto, $ dominio) if (false! == strpos ($ traducido, 'Howdy')) return str_replace ('Howdy', 'Hello', $ traducido); devuelve $ traducido;  add_filter ('gettext', 'change_howdy', 10, 3); 

    9. Agregar eliminación de menú adicional para roles particulares

    Con este fragmento de código, puede ocultar los menús que se encuentran en el Tablero, para los no administradores..

     función remove_admin_menus () if (is_user_logged_in () &&! current_user_can ('administrador')) remove_menu_page ('index.php'); // Panel de control remove_menu_page ('edit.php'); // Publicaciones remove_menu_page ('upload.php'); // Media remove_menu_page ('edit.php? Post_type = page'); // Páginas remove_menu_page ('edit-comments.php'); // Comentarios remove_menu_page ('themes.php'); // Apariencia remove_menu_page ('plugins.php'); // Plugins remove_menu_page ('users.php'); // Usuarios remove_menu_page ('tools.php'); // Herramientas remove_menu_page ('options-general.php'); // Configuración add_action ('admin_init', 'remove_admin_menus'); 

    Tenga en cuenta que esto solo elimina los menús de la pantalla, pero no filtra el permiso del usuario para acceder a estos menús. No impide que un usuario acceda a esos menús directamente a través de la barra de direcciones del navegador. Recuerda agregarlos a tu funciones.php.

    10. Eliminar el vínculo de la barra de administración para usuarios que no sean administradores

    En el Panel de WordPress, además del menú principal en la barra lateral, también encontrará un par de enlaces de menú en la parte superior. Puede restringir el acceso a este enlace de la barra de administración desde roles o usuarios específicos. Este fragmento de código a continuación eliminará el menú en la barra de administración para los usuarios que no son administradores..

     función remove_admin_bar_links () global $ wp_admin_bar; if (! current_user_can ('administrador')) $ wp_admin_bar-> remove_menu ('wp-logo'); // Eliminar el logotipo de WordPress $ wp_admin_bar-> remove_menu ('about'); // Eliminar el enlace de WordPress $ wp_admin_bar-> remove_menu ('wporg'); // Eliminar el enlace de WordPress.org $ wp_admin_bar-> remove_menu ('documentación'); // Eliminar el enlace de documentación de WordPress $ wp_admin_bar-> remove_menu ('support-forums'); // Eliminar el enlace de los foros de soporte $ wp_admin_bar-> remove_menu ('feedback'); // Eliminar el enlace de comentarios $ wp_admin_bar-> remove_menu ('site-name'); // Eliminar el enlace del nombre del sitio $ wp_admin_bar-> remove_menu ('view-site'); // Eliminar el enlace del sitio de visita $ wp_admin_bar-> remove_menu ('actualizaciones'); // Eliminar el enlace de actualizaciones $ wp_admin_bar-> remove_menu ('comentarios'); // Eliminar el enlace de comentarios $ wp_admin_bar-> remove_menu ('new-content'); // Eliminar el nuevo enlace de contenido $ wp_admin_bar-> remove_menu ('my-account'); // Eliminar la pestaña de detalles del usuario add_action ('wp_before_admin_bar_render', 'remove_admin_bar_links');