我正在试图找出为什么我的短代码无法正常工作 - 任何人都可以看到原因(对于糟糕的格式化道歉,似乎无法让这个短代码正确显示)?
由于某种原因,代码在我的短代码之上运行。我不确定我是否完全理解如何在短代码中使用模板标签/ WP功能,因为我认为你需要在函数的开头使用类似get_的东西,以便在短代码中的变量中返回它。有人可以帮忙吗?
由于
OSU
/* News from Blog category only - category 3 */
add_shortcode( 'latestblogposts', 'osu_latestblogposts' );
function osu_latestblogposts() {
$start = '<div class="widget widget_osu_blog">';
$start .= '<a title="Subscribe to our RSS feed" href="/feed?cat=3" class="rss"><img alt="RSS" src="' . get_bloginfo('template_directory') . '/images/ico-rss-big.png"></a>';
$start .= '<div>';
$my_query = new WP_Query('category=3&showposts=3');
while ($my_query->have_posts()) : $my_query->the_post();
$inner = '<div class="item"><a href="' . get_permalink() . '" title="';
$inner .= printf( esc_attr__( 'Permalink to %s', 'inspire' ), the_title_attribute( 'echo=0' ) );
$inner .= '" rel="bookmark" class="title">' . the_title() . '</a>';
$inner .= '<p class="post-meta">';
$inner .= '<span class="small">by</span> <span class="post-author"><a title="Posts by ';
$inner .= the_author();
$inner .= '" href="' . the_author_posts_link() . '">' . the_author() . '</a></span>';
$inner .= '<span class="small">on</span> <span class="post-date">';
$inner .= get_the_date('d/m/Y') . '</span></p>';
$inner .= the_excerpt() . '</div> <!-- End div.item -->';
endwhile;
$end = '</div>';
$end .= '</div> <!-- End div.widget_osu_blog -->';
$latestblogposts = $start . $inner . $end;
return $latestblogposts;
}
答案 0 :(得分:0)
如果我理解正确,您需要使用可选参数调用函数,以获取返回值而不是直接回显它。例如,使用the_title(),您有3个可选参数,第三个设置输出(默认为true)。 the_title().
对于其他值,您需要更改所调用的功能。 the_author()总是显示(echo)值,你需要调用get_the_author()。