私は運なしで、ユーザーの投稿をメニュー項目にしようとしています。
これが私のこれまでのところですが、うまくいきません。ショートコードを追加してAdvancedカスタムコンテンツを使用したいです。
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;
}
リストは実際には表示できますが、サブメニュー内のリンクとしては表示されません。これを行う正しい方法は何ですか?
the_permalink()
、the_title()
のデフォルト値はecho
です。その値を変数に格納したい場合は、代わりに値をreturn
にする必要があります。 get_the_permalink()
、get_the_title()
は、return
の代わりにecho
の値に似た2つの関数です。
だからあなたの新しいコードはこんな感じになるでしょう:
$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>';