Antes de comenzar, quiero reconocer que hay algunos artículos realmente buenos que están dirigidos a cómo poner en cola condicionalmente los scripts basados en el contenido de la página / publicación.
- Desarrollo de plugins de WordPress: cómo incluir CSS y JavaScript condicionalmente y solo cuando sea necesario por las publicaciones
- Cómo cargar JavaScript como un maestro de WordPress
Estos son geniales, pero son mucho más avanzados que lo que quiero hacer.
Siento que la respuesta es usar la is_page()
función incorporada ( codex ), pero cuando trato de usarla, el sitio se rompe o simplemente no funciona.
Creo que solo estoy ejecutando la lógica condicional en el lugar equivocado.
Esto es lo que he intentado agregar a mis functions.php:
function wpse39130_register_more_stylesheets() {
wp_register_style( 'stylesheet_name', get_stylesheet_directory_uri() . '/stylesheet.css' );
}
add_action( 'init', 'wpse39130_register_more_stylesheets' );
function wpse39130_conditionally_enqueue_my_stylesheet() {
// only enqueue on product-services page slug
if ( is_page( 'products-services' ) ) {
wp_enqueue_style( 'stylesheet_name' );
}
}
add_action( 'wp_enqueue_scripts', 'wpse39130_conditionally_enqueue_my_stylesheet' );
Cuando elimino la parte condicional, la hoja de estilo se coloca correctamente en cola, así que sé que funciona.
css
conditional-content
wp-enqueue-style
Evan Mattson
fuente
fuente
Respuestas:
Copié su código pegado en mi entorno de desarrollo, no cambié nada más que el nombre de la página, y funciona bien. ¿Estás seguro de que no se está poniendo en cola y simplemente lo has señalado mal o de que la página no tiene un nombre incorrecto o algo así?
fuente
Lo que tienes es correcto: solo lo estás conectando a la acción incorrecta. Pruebe la acción "wp" en lugar de "init". Cuando se ejecuta init, is_page () no funcionará correctamente todavía.
EDITAR: estoy equivocado. Pensé que tenías add_my_stylesheet enganchado a init, pero no lo tienes. is_page debería funcionar desde la acción enqueue_scripts. Lo siento ... sigue ...
fuente
Estaba tratando de seguir el mismo código y ver si puedo obtener el mismo resultado, lo que noté es_página () no funciona como se esperaba. así que seguí la variable global $ post y verifiqué el nombre / slug de la categoría y este último utilizó una comparación de texto simple para decidir la acción.
El valor de la categoría si es solo una categoría (no subcategoría) sería
Para la subcategoría, deberá completar la siguiente variable
Ahora, según su necesidad, use el siguiente código, como estoy usando para verificar el nombre de la subcategoría:
Código completo:
Ejemplo: * Sin CSS adicional http://whatsq.com/category/gst16/
* CSS adicional con antecedentes de la categoría anterior solo http://whatsq.com/information-technology/shopping-information-technology/mothers-day-gift-plan-show-mom-the-love-with-flowers-and- y más/
fuente