如何使用unction.php为侧边栏中显示的标题添加前缀?

时间:2017-07-04 作者:Dany M

过滤侧栏中显示的标题的条件/挂钩是什么?

编辑:我实际上是指帖子标题。比如,如果有一个小部件显示最近的5篇文章,我想过滤这5篇文章的输出。

2 个回复
SO网友:Ankita Tanti

您可以通过添加以下过滤器来过滤小部件标题:

add_filter (\'widget_title\', \'custom_title\');
function custom_title($oldtitle) 
{
    //manipulate $title as per your need
    $title = explode(" ", $oldtitle,2);
    $titleNew = "<span>".$title[0]."</span>."$title[1];
    return $titleNew;
}

SO网友:birgire

这里有一种方法可以使用the_title 过滤器,与widget_posts_args 过滤器和loop_end 措施:

/**
 * Recent Posts Widgets: Prepending the posts\' titles
 */
add_filter( \'widget_posts_args\', function( array $args )
{
    add_filter( \'the_title\', \'wpse_prepend_post_title\', 10, 2 );
    add_action( \'loop_end\',  \'wpse_clean_up\' );
    return $args;
} );

function wpse_prepend_post_title( $title, $post_id )
{
    return \'Prefix \' . $title;   // Adjust to your needs!
} 

function wpse_clean_up( \\WP_Query $q )
{
    remove_filter( current_filter(), __FUNCTION__ );
    remove_filter( \'the_title\', \'wpse_prepend_post_title\', 10 );
} 
Here\'s 另一种只使用过滤器的方法。

如果需要根据需要进一步修改小部件或创建自定义短代码,则可以扩展小部件。

结束

相关推荐

Widgets won't save

我几乎没有创建widget区域的经验,我一直在将widget保存在widget区域的“红色菜单”中。我已经搜索了十几篇帖子,但似乎都没找到。我目前在Wordpress 4.0.1中工作,这是我的代码:小部件。php:class Red_Menu_Widget extends WP_Widget { function redmenu_widget( $args, $instance ) { $widget_ops = array( \'cl