Tengo un sitio donde varios grupos tienen sus propias categorías, y existe el deseo de que estas categorías lleven la marca del logotipo del propietario del grupo.
Para cada categoría hay un código similar a este:
.category-org .d-header {
color: white !important;
background-color: white !important;
background-image: none !important;
background:white !important;
}
.category-org #site-text-logo {
content: url("/uploads/default/original/1X/a9d7d4f215f2013907002ffe13456d3f90a7f108.png") !important;
display: inline-block;
height: 50px;
font-size: 0;
margin-top: 5px;
margin-bottom: 0px;
}
El truco es que al hacer clic en el logotipo, te llevan a la página de inicio del sitio en lugar de a la categoría. Esto se resuelve (en su mayoría) con lo siguiente:
<script type="text/javascript">
$(document).ready(function() {
$(".title #site-text-logo").click(function(event){
// no navegar a la URL base
event.preventDefault();
// obtener la categoría activa desde el id del div
div = $("body[class*='category-']")[0];
// extraer el slug de la clase que comienza con category-
var classes = $(div).attr('class');
var slug = classes.match(/category\-.+/g)[0].replace("category-","").split(" ")[0];
// establecer el href como la URL del slug
document.location = "/c/" + slug + "/";
})
});
</script>
Si haces clic en el logotipo ya sea en una página de categoría o de tema, vas a la página de la categoría. ¡Genial!
PERO si haces clic en el pequeño espacio entre el logotipo y la parte inferior de esa cabecera, te llevan a la página de inicio en lugar de a la página de la categoría. Es prácticamente imposible distinguir cuándo obtendrás una acción u otra. Cuando pasas el ratón por encima de la URL en la parte inferior de Chrome, muestra la página de inicio del sitio en lugar de la URL de la categoría, independientemente de a dónde vayas a ir.
(He utilizado Custom Header Links para agregar un enlace a la página de inicio. No creo que tenga nada que ver con el comportamiento anterior.)
Y no puedo compartir el sitio porque las categorías por unidad son visibles solo para los miembros del grupo.