如果在类别中找到特定标记,我会创建一个侧边栏菜单。例如
点击后,网址格式如下:
/类别/?标签=苹果
呈现菜单的代码如下:
<?php if ( $term->slug == 'apples' ) {?>
<section class="item">
<h4><a href="<?php $category_id = get_query_var('cat');
echo get_category_link( $category_id );?>?tag=apples"> Apples</a>
</h4></section>
<?php } if ( $term->slug == 'oranges') {?>
<section class="item">
<h4><a href="<?php $category_id = get_query_var('cat');
echo get_category_link( $category_id );?>?tag=oranges"> Oranges</a>
</h4></section>
<? } ?>
<?php } } ?>
当有活跃的网址格式时,我很难用红色背景突出显示“苹果”,而橙色背景的橙色则相同。
我已经尝试了各种Jquery小提琴示例,这些示例在小提琴上完美运行,但在我实现它们时却没有。大多数用于静态html页面,这更容易。
答案 0 :(得分:0)
这可能是你应该放在循环中的东西,但是apples
部分的一个例子:
<section class="item <?php echo ($term->slug === $_GET('tag')) ? 'active' : '';">
<h4><a href="<?php $category_id = get_query_var('cat');
echo get_category_link( $category_id );?>?tag=apples"> Apples</a>
</h4></section>
请注意,我在section元素中添加了一个active
类,以便您可以对该(或其子元素)设置不同的样式。
答案 1 :(得分:0)
为什么不验证$ _GET变量,然后突出显示活动URL?
if ($_GET['tag'] == 'apples')
echo ''; //Highlight : ON, with CSS
else
echo ''; //Highlight : OFF
同样适用于“橘子”。
答案 2 :(得分:0)
由于您使用jQuery标记它,您可以在客户端解决它:
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" :
decodeURIComponent(results[1].replace(/\+/g, " "));
}
$(function(){
var tag = getParameterByName('tag');
if(tag){
$('h4').filter(function(){
return $(this).text().toLowerCase() === tag;
}).css({ color: 'red' });
}
});
尽管我建议您使用PHP直接在服务器上解决它。只是一个替代方案。