Vote la pregunta y las respuestas que encuentre útiles haciendo clic en la flecha ARRIBA en el lado izquierdo de la pregunta o respuesta.
Al igual que muchos otros que ahora están viendo esta publicación, he estado leyendo varios blogs, foros y grupos de discusión para aprender y mejorar mis habilidades de WordPress. En los últimos 12 meses, he tenido la misión de sustituir mi uso de complementos agregando código a mi functions.php
archivo. Si bien estoy completamente de acuerdo en que los complementos son muy útiles en muchas situaciones, mi experiencia demostró que en el 90% de los casos de uso, aunque podría existir un complemento, su uso podría crear complicaciones innecesarias y problemas de compatibilidad. Además, en muchos casos, tales complementos agregaron menús y otros elementos de administración que no quiero ni necesito.
La mayoría de las veces descubrí que al analizar el código de los complementos pude eliminar el fragmento de código que quería y codificarlo en mi functions.php
. Esto me proporcionó la funcionalidad exacta que necesitaba sin tener que incluir elementos innecesarios.
Por lo tanto, el propósito de esta publicación es mi intento de involucrarlo a usted, el lector / administrador / desarrollador, para que comparta conmigo y otros aquí cualquier fragmento de código que encuentre útil y haya agregado al function.php
archivo de su tema para extender o mejorar WordPress sin utilizar un enchufar.
Cuando envíe una respuesta aquí, por favor, dele un título a cada bit de código, infórmenos si con qué versión de wordpress sabe que es compatible, incluya la descripción que considere que mejor describe su función y (si corresponde) incluya un enlace al original plugin o fuente donde encontraste la información.
Espero con interés todas sus respuestas y, por supuesto, agregaré continuamente mis nuevos hallazgos cada vez que los encuentre.
Respuestas:
Habilite la función de administrador oculto que muestra TODAS las configuraciones del sitio
Probado en: Wordpress 3.1 RC3
Este pequeño fragmento de código hace algo genial. Agregará una opción adicional a su menú de configuración con un enlace a "todas las configuraciones" que le mostrará una lista completa de todas las configuraciones que tiene dentro de su base de datos relacionadas con su sitio de WordPress. El siguiente código solo hará que este enlace sea visible para un usuario administrador y lo ocultará para todos los demás usuarios.
fuente
Modificar el logotipo de inicio de sesión y el enlace de URL de imagen
Probado en: WordPress 3.0.1
Este código le permitirá modificar fácilmente el logotipo de la página de inicio de sesión de WordPress, así como el enlace href y el texto del título de este logotipo.
EDITAR: si desea utilizar el logotipo del sitio para reemplazar el logotipo de inicio de sesión, puede utilizar lo siguiente para extraer dinámicamente esa información (probado en WP3.5 ):
fuente
Incluya tipos de publicaciones personalizadas en los resultados de búsqueda.
Agregue sus tipos de publicaciones personalizadas a la fuente RSS principal de su sitio de forma predeterminada.
Incluya tipos de publicaciones personalizadas en el widget del panel de administración "Ahora mismo"
Esto incluirá sus tipos de publicaciones personalizadas y los recuentos de publicaciones para cada tipo en el widget del panel "En este momento".
fuente
exclude_from_search
parámetro deregister_post_type
...Eliminar la notificación de actualización para todos los usuarios excepto el usuario ADMIN
Probado en: Wordpress 3.0.1
Este código asegurará que ningún usuario que no sea "admin" sea notificado por WordPress cuando haya actualizaciones disponibles.
Se modificó la versión para mostrar solo las notificaciones de actualización para los usuarios administradores (en lugar de solo el usuario 'admin'):
fuente
Cargando jQuery desde Google CDN
Probado en: Wordpress 3.0.1
Eliminar la información de la versión de WordPress para seguridad
Probado en: Wordpress 3.0.1
Agregue spam y elimine enlaces a comentarios en el front-end
Probado en: Wordpress 3.0.1
Esto hace que sea mucho más fácil administrar los comentarios desde el front end al agregar spam y eliminar enlaces. **
Retrasar la publicación pública en RSS Feed
Probado en: Wordpress 3.0.1
Finalmente, me gusta retrasar la publicación en mis canales RSS durante 10-15 minutos porque siempre encuentro al menos un par de errores en mi texto. Otros usos son en caso de que desee que el contenido sea exclusivo de su sitio durante un día o una semana antes de enviarlo a sus lectores RSS.
fuente
remove_action('wp_head', 'wp_generator');
Establezca un número máximo de revisiones posteriores para evitar la hinchazón de la base de datos.
Probado en: Wordpress 3.0.1
El valor predeterminado es infinito, esto lo configurará para recordar solo las últimas 5 ediciones:
FWIW hay muchas ideas geniales para CONSTANTS que se pueden configurar en la página del Codex Edición wp-config.php .
fuente
Herramientas de perfiles de Wordpress
Me gusta agregar herramientas de creación de perfiles en un archivo separado, que luego incluyo de functions.php cuando sea necesario:
fuente
Enfocar imágenes redimensionadas (solo jpg)
Esta función enfoca las imágenes jpg redimensionadas. Un ejemplo de diferencia:
fuente
Eliminar meta cuadros predeterminados de Wordpress
Probado en: Wordpress 3.0.1
Este código le permitirá eliminar Meta Boxes específicos que WordPress agrega de forma predeterminada a las pantallas predeterminadas Agregar / Editar publicación y Agregar / Editar página.
fuente
Eliminar "Wordpress" al filtro "WordPress"
Probado en: Wordpress 3.0.1
Se agregó un filtro con WordPress versión 3.0 que convierte automáticamente todas las instancias de "Wordpress" (sin P mayúscula) a "WordPress" (con una P mayúscula) en el contenido de la publicación, los títulos de la publicación y el texto del comentario. Algunas personas ven esto como intrusivo, solo tengo la necesidad de confundir WordPress de vez en cuando y encuentro el filtro algo molesto.
fuente
11
como el tercer parámetro para eliminarlo.Personalizar el tablero
Eliminar estos widgets del tablero ...
Agregue un widget personalizado llamado 'Ayuda y soporte'
Este es el contenido de tu widget personalizado
fuente
Agregar campos de perfil de usuario personalizados
Coloque el código a continuación en su archivo functions.php para agregar campos de perfil de usuario personalizados. Edite o agregue líneas como mejor le parezca.
Recuerde no eliminar la línea: return $ contactmethods; de lo contrario esto no funcionará.
Para mostrar campos personalizados, puede usar uno de los dos métodos enumerados a continuación.
Opción 1:
Opcion 2:
fuente
Personaliza el orden del menú de administración
probado en: Wordpress 3.0.1
Este código le permitirá reorganizar el orden de los elementos en el menú de administración. Todo lo que necesita hacer es hacer clic en un enlace existente en el menú de administración y copiar todo antes de / wp-admin / URL. El siguiente orden representa el orden que tendrá el nuevo menú de administración.
fuente
custom_menu_order
? No pude encontrar uno ...Función para cambiar la duración del ejercicio
Probado en: Wordpress 3.0.1
Por defecto, todos los extractos tienen un límite de 55 palabras. Utilizando el siguiente código, puede anular esta configuración predeterminada:
Este ejemplo cambia la longitud del extracto a 100 palabras, pero puede usar el mismo método para cambiarlo a cualquier valor.
fuente
excerpt_length
gancho) se limita por palabras .Agregar miniaturas en Administrar publicaciones / Lista de páginas
Puede agregar esto a sus funciones para mostrar en la Lista Administrar / Editar Publicación y Páginas una nueva columna con la vista previa en miniatura.
fuente
Eliminar pings a tu propio blog
Probado en: Wordpress 3.0.1
fuente
Habilitar compresión de salida GZIP
Normalmente, el servidor debe configurarse para hacer esto automáticamente, pero muchos hosts compartidos no lo hacen (probablemente para aumentar el uso del ancho de banda del cliente)
fuente
Visualizar consultas DB, tiempo gastado y consumo de memoria
Probado en: Wordpress 3.0.1
Luego, este código debajo del código anterior insertará automáticamente el código anterior en el pie de página de su sitio web público (asegúrese de que su tema llame a wp_footer):
Se puede llamar varias veces.
fuente
memory_get_usage()
Anular registro de widgets predeterminados de WP
Probado en: WordPress 3.0.1
fuente
Extraer automáticamente la primera imagen del contenido de la publicación
Probado en: Wordpress 3.0.1
Este código extraerá automáticamente la primera imagen asociada con una publicación y le permitirá mostrarla / usarla llamando a la función getImage.
fuente
Salida del archivo de plantilla de tema que utiliza una publicación / página en el encabezado
Acorte la salida DIV predeterminada si su tema está usando post_class.
si tu tema usa algo como
Puede tener divs largos y locos en su fuente que podrían verse así o incluso más:
Esto realmente puede comenzar a saturar su fuente y parecer bastante innecesario en la mayoría de los casos, ir de 3 a 4 de profundidad es lo suficientemente bueno.
Para el ejemplo superior, podemos dividir la salida de esta manera:
esto corta la salida para incluir solo los primeros 5 valores, por lo que el ejemplo anterior se convierte en:
Hacer que los archivos de categoría muestren todas las publicaciones, independientemente del tipo de publicación: bueno para tipos de publicación personalizados
Eliminar elementos de panel no deseados
Esto ya estaba publicado pero no tenía la lista completa de elementos. Especialmente esos molestos "enlaces entrantes".
Eliminar los saltos de página "Leer más" **
en cambio regrese a la parte superior de la página. Sabes cómo cuando haces clic en "leer más" saltará al lugar de la página, lo que puede ser molesto, ¡esto hace que simplemente cargues la página normalmente, no saltes!
Restrinja los elementos del menú ADMIN según el nombre de usuario , reemplace el nombre de usuario con el nombre de un usuario real.
// alternativamente, puede usar if ($ current_user-> user_login! = 'admin') en su lugar, probablemente sea más útil
Aplicar estilo a la nube de etiquetas
Referencia completa de opciones aquí (¡hay muchas!) Http://codex.wordpress.org/Function_Reference/wp_tag_cloud
Cambiar el temporizador de actualización del widget RSS predeterminado
(El valor predeterminado es 6 o 12 horas, lo olvido (1800 = 30 minutos).
fuente
Eliminar el aviso de actualización del complemento SOLO para complementos INACTIVOS
fuente
Eliminar información superflua y HTML dentro de la
<head>
etiquetafuente
Habilite la depuración y el registro de errores para usar en sitios activos
Este es un fragmento de código que escribí para hacer uso de las constantes WP_DEBUG que normalmente están deshabilitadas por defecto. Bueno, creé una forma de no solo habilitar WP_DEBUG para que pueda usarlo en un sitio en vivo sin efectos secundarios negativos, sino que también utilicé las otras constantes de depuración para forzar la visualización de errores y para crear un archivo de registro de los errores y avisos en el directorio / wp-content.
Coloque este código en su archivo wp-config.php (DESPUÉS DE QUE HAYA GUARDADO UNA COPIA DE SEGURIDAD EN CASO MÁXIMO) y luego puede pasar los parámetros? Debug = 1, 2 o 3 al final de cualquier url en su sitio.
? debug = 1 = muestra todos los errores / avisos? debug = 2 = obliga a que se muestren? debug = 3 = crea un archivo debug.log de todos los errores en / wp-content dir.
Entro en más detalles sobre la publicación de invitado que escribí para Comluv si está interesado, aquí: http://comluv.com/dev/enable-debugging-and-logging-for-live-site-usage/
Todavía estoy trabajando en una forma de hacer que esto esté protegido con contraseña, o preferiblemente de alguna manera hacerlo funcionar en if (current_user_can ('manage_themes') y is_logged_in ().
Pero ahí es donde se vuelve mucho más complicado.
fuente
Agregar automáticamente títulos dinámicos a páginas públicas
Probado en: Wordpress 3.0.1
El uso del código a continuación creará automáticamente títulos de página dinámicos basados en las páginas / publicaciones que se visualizan públicamente.
fuente
Nuevos roles y capacidades: ¡solo corre una vez!
Los tengo a mano, esta es la forma correcta de hacerlo sin un complemento. Establecen un solo campo (prefix_user_roles) en la base de datos de opciones, y no necesita un complemento para configurarlos. Consulte la página del Codex para obtener una lista de las capacidades disponibles y las descripciones de lo que hacen. ¡Solo necesita descomentar uno de estos bloques, cargar cualquier página y luego comentarlos nuevamente! Aquí estoy creando un rol que tiene las capacidades que necesito:
A veces es útil agregar / eliminar de una función existente en lugar de eliminar y volver a agregar una. Nuevamente, solo necesita descomentarlo, volver a cargar una página y luego comentarlo nuevamente. Esto almacenará el rol / capacidad correctamente en la tabla de opciones. (Esto le permite al desarrollador controlarlos y eliminar la sobrecarga de los complementos voluminosos que hacen lo mismo). Aquí estoy cambiando el rol de autor para eliminar sus publicaciones publicadas (el valor predeterminado), pero les permite la capacidad de editar sus publicaciones publicadas (que no es posible para este rol de manera predeterminada), usando * add_cap * o * remove_cap *.
Mantengo una hoja de cálculo con la cuadrícula de la página del Codex para los sitios que modifican de esta manera, para que pueda recordar cómo se configuran las cosas, aunque dejará el código comentado en su archivo functions.php. ¡No deje estos ejemplos sin comentar, o se escribirá en la base de datos con cada carga de página!
fuente
Pie de página de administrador personalizado de Wordpress
Lo uso para sitios de clientes como un simple punto de referencia para contactarme como desarrollador.
fuente
Habilitar códigos cortos en widgets
fuente
Función para deshabilitar canales RSS
Probado en: Wordpress 3.0.1
Puede deshabilitar los canales RSS si desea mantener su sitio web basado en Wordpress como estático.
Puedes usar esta función:
fuente
Cambie el mensaje "Hola" a "Bienvenido"
Con esta función, puede personalizar el mensaje "Hola" en la parte superior derecha de su área de administración.
Esta función utiliza JQuery para cambiar el mensaje "Hola" a "Bienvenido".
Versión PHP, usando
gettext
filtro:fuente