删除文本小部件的包装或<div class =“”textwidget“”> </div>

时间:2016-06-09 11:41:18

标签: wordpress

当我在文本小部件中写一个引号并显示文本被包装为...

<div class="textwidget">My text...</div>。 我想删除div并简单地放入&#34;我的文字......&#34;。

例如:

当前输出

<div class="container">
   <div class="textwidget">
       My text...
   </div>
</div>

必需输出:

 <div class="container">
     My text...
 </div>

3 个答案:

答案 0 :(得分:2)

jQuery 方式:

$('.textwidget').contents().unwrap();

PHP 方式:

$s = '<div class="textwidget"><div class=“textwidget”>My text...</div></div>';
echo preg_replace( '/<div class="container">(.*?)<\/div>/' , '$1' , $s);

参考: https://stackoverflow.com/a/12495139/622813

所以 Wordpress 方式:(黑客方式)

Functions.php (将dynamic_sidebar设为return

function get_dynamic_sidebar($i = 1) {
   $c = '';
   ob_start();
   dynamic_sidebar($i);
   $c = ob_get_clean();
   return $c;
}

您的模板: (因此替换它)

echo preg_replace( '/<div class="textwidget">(.*?)<\/div>/' , '$1' , get_dynamic_sidebar('sidebar_smlinks') );

答案 1 :(得分:-1)

请您查看以下代码?

<script>
jQuery( document ).ready(function() {
    jQuery( ".container .textwidget" ).removeClass( "textwidget" );
});
</script>

答案 2 :(得分:-1)

试试这个,

适用于 jQuery ,试一试。

var html = $(".container").contents(); 

$(".container").replaceWith(html);