因此,我正在尝试在Wordpress网站上的导航菜单上工作。我正在尝试从hongkiat.com复制导航菜单(如图所示)。
在Hongkiat的导航菜单中,您将看到五(5)个父类别(设计/开发,技术,灵感,社交能力和交易)。用户将鼠标悬停在“父类别”上后,它将在“父类别”下显示最近的帖子。
无论如何,我设法用显示“父类别”及其子类别的“下拉”菜单进行编码。现在的难题在于,如何在用户悬停的父类别下显示最新帖子(至少3个帖子)。
无论如何,这是我的代码:
HTML/PHP
<ul>
<?php
global $post;
$myposts = get_posts('numberposts=3&offset=1');
foreach($myposts as $post) ;
$args = array(
'show_option_all' => '',
'hide_empty' => '0',
'orderby' => 'name',
'order' => 'ASC',
'style' => 'list',
'use_desc_for_title' => 1,
'child_of' => 0,
'hierarchical' => 1,
'title_li' => (''),
'show_option_none' => __( '' ),
'number' => null,
'echo' => 1,
'depth' => 2,
'current_category' => 0,
'pad_counts' => 0,
'taxonomy' => 'category',
'walker' => null
);
wp_list_categories( $args );
?>
</ul>
CSS .navone {
display:inline-block;
height:35px;
vertical-align:middle;
margin:0px auto;
font-family: "Raleway",san-serif;
font-feature-settings: normal;
font-kerning: auto;
font-language-override: normal;
font-size: 12px;
font-size-adjust: none;
font-stretch: normal;
font-style: normal;
font-synthesis: weight style;
font-variant: normal;
font-weight: 600 !important;
letter-spacing: 0.03em;
text-transform:uppercase;
}
.navone ul {
margin:0;
padding:0;
}
.navone ul ul {
display: none;
}
.navone ul li:hover > ul {
display: block;
-webkit-transition: all .25s ease;
-moz-transition: all .25s ease;
-ms-transition: all .25s ease;
-o-transition: all .25s ease;
transition: all .25s ease;
}
.navone ul {
list-style: none;
position: relative;
display: inline-table;
}
.navone ul:after {
content: ""; clear: both; display: block;
}
.navone ul li {
float: left;
cursor:pointer;
padding:10px 20px;
}
.navone ul li:hover {
background:#000;
}
.navone ul li:hover a {
color: #fff;
}
.navone ul li a {
display: block;
color: #FFF;
text-decoration: none;
}
.navone ul li ul {
width:200px;
z-index:9;
}
.navone ul ul {
background: #000;
padding: 0;
position: absolute;
top:100%;
left:0;
}
.navone ul ul li {
float: none;
position: relative;
padding:5px 10px;
}
.navone ul ul li a {
color: #fff;
}
.navone ul ul li a:hover {
-webkit-transition: all .25s ease;
-moz-transition: all .25s ease;
-ms-transition: all .25s ease;
-o-transition: all .25s ease;
transition: all .25s ease;
}
.navone ul ul ul {
position: absolute; left: 100%; top:0;
}
.navone ul li ul li {
padding:8px 10px;
-webkit-transition: all .25s ease;
-moz-transition: all .25s ease;
-ms-transition: all .25s ease;
-o-transition: all .25s ease;
transition: all .25s ease;
}
.navone ul li ul li:hover {
border-left:5px solid #F52100;
padding-left:20px;
-webkit-transition: all .25s ease;
-moz-transition: all .25s ease;
-ms-transition: all .25s ease;
-o-transition: all .25s ease;
transition: all .25s ease;
}
.navtwo {
display:inline;
}
如果有人可以帮助我或指出我所缺少的,因为我的代码不起作用。我的代码没有错误,但是我没有实现我想要完成的工作。任何人都可以伸出援手。
最佳答案
<ul>
<?php $args = array(
'type' => 'post',
'child_of' => 0,
'parent' => '',
'orderby' => 'name',
'order' => 'ASC',
'hide_empty' => 1,
'hierarchical' => 1,
'exclude' => '',
'include' => '',
'number' => '',
'taxonomy' => 'category',
'pad_counts' => false
);
$categories = get_categories( $args );
foreach($categories as $cat)
{
if ($cat->category_parent == 0) {
?>
<li>
<?php echo $cat->name; $cat_id = $cat->term_id;?>
<?php $post_args = array(
'post_type'=>'post',
'posts_per_page' => 3,
'cat' => $cat_id
);
$the_query = new WP_Query($post_args);
if($the_query->have_posts()): ?>
<ul>
<?php while($the_query->have_posts()): $the_query->the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</li>
<?php endwhile; ?>
</ul>
<?php endif; wp_reset_query(); ?>
</li>
<?php } }?>
</ul>