Pregunta

Estoy tratando de crear una declaración condicional para el ancho del contenido en el functions.php de mi tema. Por lo que algunas categorías tendrán un content_width de 580, algunos tendrán 900. Esto hará que el trabajo correctamente oEmbed donde quiera que se utiliza.

Por lo general, que la presente en su functions.php:

if ( ! isset( $content_width ) ) 
    $content_width = 900;

Quiero algo como esto:

if(in_category(array('news','blog'))) {
   $content_width = 580;
} 
elseif(is_page()) {
   $content_width = 580;
}
else {
   $content_width = 900;
}

Cuando tengo esto en mi functions.php el ancho del contenido se convierte en lo que escribo en la última línea.

Me estoy perdiendo algo? ¿Es esto posible?

Gracias!

¿Fue útil?

Solución

No, no es posible. $ content_width es una constante en todo el tema, y ??se encuentra en functions.php antes que cualquiera de los condicionales de consulta se establece.

$ content_width se utiliza para determinar los tamaños de las imágenes intermedias en image_send_to_editor. El tamaño de la imagen "grande" se establece en el valor de $ content_width.

Si necesita modificar los tamaños en función de cada categoría, se puede enganchar en ese filtro ... ver mi respuesta a la cuestión cambio set_post_thumbnail_size según el tipo de publicación de la página de administración para un ejemplo general de cómo se puede hacer esto (Tenga en cuenta que esto casi siempre fallará si usted está tratando de hacerlo por categoría, como la categoría del puesto es casi siempre no se establecen cuando el primer usuario carga una imagen - Marco que según el tipo de mensaje es un poco más fiable)

No importa qué tan amplia sus mensajes y las páginas son, juego $ content_width a la imagen más ancha desea que un usuario que incluya en un poste.

Otros consejos

Tal vez esto funciona:

if(in_category(array('news','blog'))) {
   $GLOBALS['content_width'] = 580;
} 
elseif(is_page()) {
   $GLOBALS['content_width'] = 580;
}
else {
   $GLOBALS['content_width'] = 900;
}
Licenciado bajo: CC-BY-SA con atribución
scroll top