UberMenu将当前用户的帖子作为菜单项列出

时间:2016-06-02 作者:Fid

我正试图将用户的帖子变成菜单项,但运气不好。

这是我到目前为止所拥有的,但没有发挥作用。我想通过添加一个短代码来使用高级自定义内容。

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;
}
我实际上可以看到列表,但不能作为子菜单内的链接。正确的方法是什么?

1 个回复
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>\';

相关推荐

Changing slug of all posts

我有一个网站,有十几种自定义帖子类型。我想更改默认的帖子类型,使其URL有一段/news/。在我的函数文件中,我有: add_action( \'init\', \'change_post_object\' ); // Change dashboard Posts to News function change_post_object() { $get_post_type = get_post_type_object(\'post\');&#x