¿Hay algún tipo global de archivo functions.php que funcione para cualquier tema?
El problema está aquí:
Cuando cambio un archivo functions.php en cualquier tema, necesito ocuparme de dos cambios: Primero, necesito ocuparme de las actualizaciones de ese tema. En segundo lugar, debo encargarme de cambiar el tema del sitio.
Entonces, en lugar de hacer cambios en las funciones.php de un tema, ¿es posible hacer cambios en el archivo functions.php que es independiente de cualquier tema?
Respuestas:
La diferencia entre el código temático y el no temático es organizativo más que técnico. Cualquier código que esté activo contribuye al entorno resultante, no importa de dónde se cargue.
Hay varios lugares desde donde se carga el código, que no son parte del núcleo de WordPress:
wp-config.php
archivo de configuraciónEl lugar típico para su propio código, que no debería ser parte del tema, es crear un complemento. Otros enfoques no tienen beneficios del caso genérico, pero pierden las ventajas de la interfaz (gestión a través del área de administración) y técnica (eventos de activación / desactivación / desinstalación) del complemento normal.
fuente
functions.php
, o 2) crear un complemento personalizado para albergar esa funcionalidad, de modo que sea portátil entre varios temas.Template:
etiqueta apropiadamente en el tema infantilstyle.css
.Bueno, ese es un problema real y muchas personas lo enfrentan cuando cambian de tema, pero hay soluciones simples.
agregue esa función a una nueva página, no functions.php y asígnele un nombre único, por ejemplo, yousitename + marca de tiempo o lo que quiera, pero la carpeta de creación única con el mismo nombre lo comprimió y lo cargó como un complemento, por lo que seguramente funcionará hasta que lo desactive .
Para entender qué plugin es para lo que no se pierde, dale nombre a ese plugin como:
fuente
Como una adición a la respuesta @MBTheDeveloper.
Otras opciones serían:
include
en el archivo php de la función de temas y cargue un archivo custom-function.php que contenga su código personalizado.fuente
No realice cambios específicos en su sitio en el archivo functions.php del tema.
En su lugar, cree un complemento específico del sitio. Me gusta usar el nombre de dominio del sitio, como "ottopress.com". Luego, coloque sus fragmentos en ese complemento y déjelo activo solo en ese sitio.
Alternativamente, cuando tenga un fragmento de cambios relacionados, cree un complemento específico solo para ellos. Eso le da la opción de activar / desactivar los bits de código relacionados según sea necesario.
fuente
Alguna explicación
Primero debe comprender el propósito de functions.php en un tema. Functions.php es básicamente un archivo de complemento sin ningún nombre que, si está presente, Wordpress lo carga automáticamente. Wordpress carga la función.php de su tema actual para las páginas frontales de WordPress y también para las páginas administrativas (admin).
No hay diferencia entre un complemento y funciones.php, excepto que los complementos tienen nombre y pueden activarse / desactivarse independientemente de otros complementos y temas. El archivo funtions.php se adjunta con su tema actual y, si cambia a otro tema, Wordpress usa las funciones del nuevo tema.php y no sus antiguas funciones.php con modificaciones personalizadas.
Las actualizaciones de temas también sobrescriben functions.php y no hay forma de evitarlo, incluso si coloca sus modificaciones personalizadas en archivos de código separados y los incluye en fucntions.php, deberá agregar esa línea de inclusión después de cada actualización.
Generalmente el tipo de código que debería ir en functions.php:
Como desea conservar sus modificaciones personalizadas incluso si cambia de tema. Debido a que el tema hijo no funcionará en este caso, ya que cambiará el tema y las funciones.php del tema hijo no se utilizarán.
La solución
La única solución recomendada por @Otto es crear un archivo de complemento. El enfoque que puede tomar para crear el complemento específico de su sitio es crear una carpeta con su nombre de sitio en 'wp-content / plugins' y crear archivos de complemento en él.
¿Por qué los archivos de complemento? y no solo archivo de complemento.
Agrupe la funcionalidad del sitio relacionado con el código en archivos de complementos separados y no olvide agregar el encabezado del complemento en todos sus archivos de complemento para que Wordpress los reconozca como complementos separados. Entonces tendrá la capacidad de activar / desactivar diferentes características / funcionalidades de su sitio sin romper todo.
fuente