Php 列出自定义帖子类型并突出显示当前访问的项目
我有一个名为“产品”的自定义帖子类型。在每个产品页面上,我想有一个侧边栏,列出所有产品。侧栏中的当前产品应加下划线 例如,访问产品3时,应突出显示产品3: 侧栏Php 列出自定义帖子类型并突出显示当前访问的项目,php,css,wordpress,Php,Css,Wordpress,我有一个名为“产品”的自定义帖子类型。在每个产品页面上,我想有一个侧边栏,列出所有产品。侧栏中的当前产品应加下划线 例如,访问产品3时,应突出显示产品3: 侧栏产品1产品2 产品3产品4 我认为解决方案可以是一个包含所有产品的wp菜单,然后使用.current菜单项类来实现突出显示。但是边栏必须在新产品创建时自动更新 下面是我列出所有产品的方式。是否有一种集成当前菜单项功能的方法 <?php $loop = new WP_Query( array( 'post_type' => 'p
产品1
产品2
产品3
产品4
我认为解决方案可以是一个包含所有产品的wp菜单,然后使用.current菜单项类来实现突出显示。但是边栏必须在新产品创建时自动更新 下面是我列出所有产品的方式。是否有一种集成当前菜单项功能的方法
<?php $loop = new WP_Query( array( 'post_type' => 'product' ) ); ?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php endwhile; ?>
通过添加这样的类
<a class="current-product" href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
是的,有一种简单的方法可以实现这一点 以下是完成您的任务的代码的修改版本:
<?php
// get the current product ID
$current_post_id = get_the_ID();
$loop = new WP_Query( array( 'post_type' => 'product' ) );
while ( $loop->have_posts() ) {
$loop->the_post();
?>
<a href="<?php the_permalink(); ?>" <?php echo get_the_ID() == $current_post_id ? 'class="current-product"' : ''; ?>><?php the_title(); ?></a>
<?php
}
?>
这里,我们基本上将当前产品的ID保存在一个变量中,然后对于列表中的每个产品,我们检查循环产品ID是否等于当前产品ID。如果等于,则显示class=“current product”
属性