从WP_Widget_Text中删除BEFORE_WIDGET/AFTER_WIDGET内容

时间:2011-09-25 作者:Devise

我想获取文本小部件并从当前显示为的文本输出中删除前面/后面的标记

<div class="textwidget">Test</div>
分配给每个小部件区域的before\\u小部件/after\\u小部件在我的控制下,但小部件内容本身超出了我的控制范围。

// Area 4, located in the footer. Empty by default.
    register_sidebar( array(
        \'name\' => __( \'First Footer Widget Area\', \'lakeshoreautoclinic\' ),
        \'id\' => \'first-footer-widget-area\',
        \'description\' => __( \'The first footer widget area\', \'lakeshoreautoclinic\' ),
        \'before_widget\' => \' <p>\',
        \'after_widget\' => \'</p>\',
        \'before_title\' => \'<strong>\',
        \'after_title\' => \'</strong>\',
    ) );
为周围/小部件输出

<p><strong>Test</strong><div class="textwidget">Test</div></p>

2 个回复
SO网友:mrwweb

在我看来,你有几个选择:

有一个the_widget() 用于控制before\\u小部件和after\\u小部件属性的模板标记。但是,它将小部件与小部件UI分离。

或者,您可以尝试通过CSS完成您想要完成的任何事情。如果将before\\u小部件行更改为:

\'before_widget\' => \'<p id="%1$s" class="widget %2$s">\',
您将获得一些类和ID,这些类和ID将使每个小部件都可以使用。

SO网友:Goran Jakovljevic

文本小部件格式化可以在“/wp includes/default小部件”中找到。php\'从第368行开始。为了删除该格式化,您必须更改第382行。

<div class="textwidget"><?php echo !empty( $instance[\'filter\'] ) ? wpautop( $text ) : $text; ?></div>
只需删除div即可

<?php echo !empty( $instance[\'filter\'] ) ? wpautop( $text ) : $text; ?>
然而,这样您就可以更改wordpress核心文件,这意味着它可能会在下次更新中更改,所以更好的方法是复制文本小部件类,重命名它(和构造函数),并将其添加到主题函数中。php文件(或插件,如果您愿意)。

这也是一种更改小部件名称位置的方法,等等。。。

结束

相关推荐

Why use widgets?

我对使用WordPress很陌生,我想知道使用小部件的好处是什么?看here 这听起来像是为那些不是程序员的人准备的,他们想在他们的网站上添加插件。对吗?或者小部件是否在某种程度上使站点更加健壮?