Actualmente estoy en las etapas alfa de editar un tema secundario para un tema de Wordpress. Tengo experiencia en programación y algo de experiencia en la gestión de WordPress, pero no tengo experiencia directa en la edición de código relacionado con WordPress. En este momento, actualmente muestra las primeras tres categorías alfabéticamente.
Lo que estoy tratando de hacer: en lugar de mostrar las primeras tres categorías alfabéticamente, me gustaría mostrar 3 categorías aleatorias con más de x número de productos.
Me he encontrado con los siguientes obstáculos / preguntas que me impiden continuar.
- ¿Qué mecanismo / función controla la selección de estas categorías? (Su código)
- ¿Está basado en temas o algo en el sistema subyacente de WordPress?
- ¿Qué otra información sería relevante para hacer este cambio?
- ¿Qué información sería útil de Firefox Dev Bar?
- ¿Cómo encuentro "TheyCode" para poder reemplazarlo con "MyCode"?
La verdadera pregunta aquí es: ¿Cómo encuentro "TheyCode", que es responsable de esta selección utilizando herramientas como Firefox Dev Bar y la fuente real?
Esta pregunta no se trata de WooCommerce (el complemento). Estoy buscando una manera de encontrar una función en un tema que WooCommerce (la compañía) diseñó o en cualquier tema realmente.
Tema de código abierto: WooCommerce Storefront
Respuestas:
Si se está refiriendo a la salida / fuente HTML, entonces, por ejemplo, en el sitio de demostración oficial del tema Storefront , simplemente haga clic derecho en el encabezado o sección "Categorías de productos" y luego puede inspeccionarlo fácilmente
section
. Consulte el documento de MDN para ver otras opciones, como el icono "Seleccionar elemento".Ahora para " la fuente real " (es decir, el código PHP o la función que genera la sección "Categorías de productos" en las páginas que usan la plantilla "Página de inicio"), puede encontrarla en
inc/storefront-template-functions.php
.También lo
storefront_product_categories()
es la función PHP que está buscando y que puede anular por completo si lo desea (consulte https://docs.woocommerce.com/document/set-up-and-use-a-child-theme/# sección-5 ). Pero si solo desea mostrar las categorías de productos en una ordenación aleatoria, simplemente puede usarstorefront_product_categories_args
para filtrar los argumentos de la consulta (que en su caso seríaorderby
):Ese filtro se llama desde la
storefront_product_categories()
función, y estos son los otros filtros / acciones que puede usar:Filtrar:
storefront_product_categories_shortcode_args
Acción:
storefront_homepage_before_product_categories
Acción:
storefront_homepage_after_product_categories_title
Acción:
storefront_homepage_after_product_categories
Vea esto si no está seguro de las diferencias entre una "acción" y un "filtro".
ACTUALIZACIÓN: ¿Cómo podría encontrar el código?
Explore la documentación del tema de Storefront :
Página de inicio "acciones"
Funciones de plantilla de escaparate
Ejemplo de Comprobar filtros de escaparate: cambie la cantidad de productos que se muestran por página .
Primero, verifique (y lea) la documentación del tema.
Si ninguno o que usted no / no podía encontrar la información que necesitaba, a continuación, intente lo @motivast habían sugerido - Inspeccionar los elementos de la página, encontrar el código HTML correspondiente y / o CSS
class
/id
, a continuación, buscar en los archivos de tema para ese HTML o CSSclass
/id
hasta que encuentre el archivo correcto o el código PHP /function
.Por ejemplo, en el sitio de demostración del tema Storefront, el HTML de la sección de categorías de productos es:
Para que pueda buscar en los archivos de tema con
una deestas palabras clave: (Comenzaría por la coincidencia más específica o más cercana al HTML generado)<section class="storefront-product-section storefront-product-categories"
class="storefront-product-section storefront-product-categories"
storefront-product-categories
storefront-product-section
Suponiendo que no conocía la documentación de Storefront / theme, realizar las búsquedas anteriores eventualmente lo llevaría al archivo correcto o al código PHP /
function
.Si necesita más ayuda, avíseme y actualizaré esta respuesta en consecuencia.
fuente