我想从rss提要小部件中删除链接和图标。有没有办法做到这一点?显然,我不想修改核心文件。
因此,所需输出为:
<h3 class="widget-title">RSS Title</h3>
而不是默认值:
<h3 class="widget-title">
<a href="http://www.example.com/url/feed/" class="rsswidget">
<img height="14" width="14" alt="RSS" src="http://example.com/wp-includes/images/rss.png" style="border:0" class="rss-widget-icon"></a> <a href="http://www.example.com/" class="rsswidget">RSS Title</a>
我知道有widget\\u title filter,但我无法让它工作。
如有代码示例,将不胜感激。
More Details
所以在/wp-includes/widgets/class-wp-widget-rss中有这段代码。php
/** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
$title = apply_filters( \'widget_title\', $title, $instance, $this->id_base );
$url = strip_tags( $url );
$icon = includes_url( \'images/rss.png\' );
if ( $title )
$title = \'<a class="rsswidget" href="\' . esc_url( $url ) . \'"><img class="rss-widget-icon" style="border:0" width="14" height="14" src="\' . esc_url( $icon ) . \'" alt="RSS" /></a> <a class="rsswidget" href="\' . esc_url( $link ) . \'">\'. esc_html( $title ) . \'</a>\';
echo $args[\'before_widget\'];
if ( $title ) {
echo $args[\'before_title\'] . $title . $args[\'after_title\'];
}
wp_widget_rss_output( $rss, $instance );
echo $args[\'after_widget\'];
if ( ! is_wp_error($rss) )
$rss->__destruct();
unset($rss);
我看到那里有一个过滤器,但我不知道如何使用它删除链接和图标。
最合适的回答,由SO网友:iantsch 整理而成
您正在尝试修改内置小部件。不幸的是,对于你来说,没有简单的解决方案来获得你想要的结果。正如您已经了解到的,没有过滤器挂钩来修改整个标题输出。
如何获得结果创建您自己的小部件扩展WP_Widget_RSS
覆盖父方法的位置widget
用你指定的方法。然后将内置版本替换为您的版本。
帮助您开始:
class WP_Widget_RSS_Custom extend WP_Widget_RSS {
public function widget($args, $instance) {
// Copy parent function and modify to your needs…
}
}
add_action(\'widgets_init\', \'widget_WP_Widget_RSS_Custom_init\');
function widget_WP_Widget_RSS_Custom_init() {
unregister_widget(\'WP_Widget_RSS\');
register_widget(\'WP_Widget_RSS_Custom\');
}
创建一个基于JS的解决方案,在DOM就绪后修改小部件。