WordPress小部件:删除额外的div
创建小部件时,WordPress会放置一个WordPress小部件:删除额外的div,wordpress,themes,wordpress-theming,Wordpress,Themes,Wordpress Theming,创建小部件时,WordPress会放置一个 <div class="typewidget"> 围绕小部件。我想在不编辑wp includes/default-widgets.php文件的情况下删除这些额外的div 在我的theme index.php中,我使用: <ul> <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('widgetname') ) : ?> <
<div class="typewidget">
围绕小部件。我想在不编辑wp includes/default-widgets.php文件的情况下删除这些额外的div
在我的theme index.php中,我使用:
<ul>
<?php if ( !function_exists('dynamic_sidebar')
|| !dynamic_sidebar('widgetname') ) : ?>
<?php endif; ?>
</ul>
然后,在functions.php中:
register_sidebar(array(
'name' => 'widgetname',
'before_widget' => '<li>',
'after_widget' => '</li>',
));
register\u侧栏(数组(
“名称”=>“widgetname”,
'before_widget'=>'',
'after_widget'=>' ',
));
这在网站上显示:
<ul>
<li>
<div class="textwidget"><strong><a href="#">musica</a></strong> <a href="#">Lorem ipsum dolor sit amet dolor sit am.</a></div>
</li>
</ul>
-
有什么想法吗?谢谢。像下面这样的方法可能会奏效
var stuff_in_div = document.getElementById("typewidget").innerHTML;
stuff_in_div.parentNode.removeChild("typewidget");
然后,如果你给document.getElementById("target").innerHTML = stuff_in_div;
这似乎合理吗
Andy使用类似以下的东西怎么样:
var stuff = document.getElementsByTagName("div");
for (i=0, i<stuff.length, i++) {
if (stuff[i].className=='typewidget') {
var stuff_in_div = stuff[i].innerHTML;
stuff[i].parentNode.innerHTML=stuff_in_div;
}
}
var stuff=document.getElementsByTagName(“div”);
对于(i=0,我一个朋友刚刚帮了我,我解决了这个问题
加载jQuery后:
var cnt = $(".textwidget").contents()
$(".textwidget").replaceWith(cnt);
其中.textwidget
是额外div中的类。它根据WordPress中的每种小部件类型而有所不同。这很酷,而且是bdrew,但是我需要一个使用类而不是ID的解决方案,因为我将使用很多元素,而不仅仅是每页一个。你知道如何使你的解决方案适应这种情况吗?抱歉我误读了你原来的帖子,以为div有一个“typewidget”的id。事实上,这破坏了设计的某些部分