我正试图将用户的帖子变成菜单项,但运气不好。
这是我到目前为止所拥有的,但没有发挥作用。我想通过添加一个短代码来使用高级自定义内容。
add_shortcode( \'current-posts\' , \'ss_get_current_posts\' );
function ss_get_current_posts(){
global $current_user;
get_currentuserinfo();
$author_query = array(\'posts_per_page\' => \'-1\',\'author\' => $current_user->ID);
$author_posts = new WP_Query($author_query);
while ($author_posts->have_posts()) : $author_posts->the_post();
$list = \'<ul class="ubermenu-submenu ubermenu-submenu-id-122-col-0 ubermenu-submenu-type-stack">\';
$list .= \'<a class="ubermenu-target ubermenu-target-with-icon ubermenu-item-layout-icon_left" href="\';
$list .= the_permalink();
$list .= \'" title="\';
$list .= the_title_attribute();
$list .= \'"><span class="ubermenu-target-title ubermenu-target-text">\';
$list .= the_title();
$list .= \'</span></a></ul>\';
endwhile;
return $list;
}
我实际上可以看到列表,但不能作为子菜单内的链接。正确的方法是什么?
SO网友:ngearing
the_permalink()
, the_title()
默认情况下echo
他们的价值。当您想将该值存储在变量中时,您需要return
而不是值。get_the_permalink()
, get_the_title()
是两个类似的函数return
值而不是echo
.
因此,新代码可能如下所示:
$list = \'<li class="ubermenu-submenu ubermenu-submenu-id-122-col-0 ubermenu-submenu-type-stack">\';
$list .= \'<a class="ubermenu-target ubermenu-target-with-icon ubermenu-item-layout-icon_left" href="\';
$list .= get_the_permalink();
$list .= \'" title="\';
$list .= get_the_title();
$list .= \'"><span class="ubermenu-target-title ubermenu-target-text">\';
$list .= get_the_title();
$list .= \'</span></a></li>\';