2017-01-11 8 views
0

私のwordpress projectで私は製品リストを表示するためにショートコードを使用しました。私は以下のようにhtmlを追加しました。ショートコードですべてのhtml要素をラップすることからpタグを削除する方法

<article class="teaser product tepr prio "> 
<a href="http://localhost/svenskkinesiska/resor/sichuans-parlor/"> 
<div class="itemwrap"> 
<img class="img-responsive " src="http://localhost/svenskkinesiska/wp-content/uploads/2016/12/[email protected]" srcset="http://localhost/svenskkinesiska/wp-content/uploads/2016/12/[email protected] 768w, http://localhost/svenskkinesiska/wp-content/uploads/2016/12/[email protected] 1400w" alt="SICHUANS PÄRLOR" /> 
<div class="itemtextwrap"> 
<div class="teprb"> 
<div class="middlecenter"> 
<h3><span>Sichuans pärlor</span></h3> 
</div> 
</div> 
<span class="duration">8 DAGAR - </span><span class="price">fr 1:-</span></div> 
<div class="cprice_cdays small"> 
<div class="tableBased"> 
<div class="tableCelled"><span class="cprice">8 dagar, pris från </span><span class="cdays">1</span></div> 
</div> 
</div> 
</div> 
</a></article> 

ただし、以下のように追加のpタグがあります。私はwpautopを試したが役に立たなかった。これを解決するには?どんな助言/提案も大歓迎です。

<article class="teaser product tepr prio "> 
<a href="http://localhost/svenskkinesiska/resor/sichuans-parlor/"></p> 
<div class="itemwrap"> 
<img class="img-responsive " src="http://localhost/svenskkinesiska/wp-content/uploads/2016/12/[email protected]" srcset="http://localhost/svenskkinesiska/wp-content/uploads/2016/12/[email protected] 768w, http://localhost/svenskkinesiska/wp-content/uploads/2016/12/[email protected] 1400w" alt="SICHUANS PÄRLOR" /></p> 
<div class="itemtextwrap"> 
<div class="teprb"> 
<div class="middlecenter"> 
<h3><span>Sichuans pärlor</span></h3> 
</div> 
</div> 
<p><span class="duration">8 DAGAR - </span><span class="price">fr 1:-</span></div> 
<div class="cprice_cdays small"> 
<div class="tableBased"> 
<div class="tableCelled"><span class="cprice">8 dagar, pris från </span><span class="cdays">1</span></div> 
</div> 
</div> 
</div> 
<p></a></article> 
+0

はいくつかありますソリューション:https://ru.wordpress.org/plugins/shortcode-empty-paragraph-fix、https://gist.github.com/bitfade/4555047 – SergeyLebedev

+0

@SergeyLebedev両方のソリューションが機能しませんでした。最初のソリューションは何もしませんでしたが、2番目のソリューションではhtmlが表示されませんでした。 –

答えて

0

あなたはjQueryを使ってこれを行うことができます:

$("b").each(function() { 
$(this).replaceWith(this.childNodes); 
}); 

注:これは、あなたがの.text()はそれを変換する可能性がある場所の内部で持っているものは何でもHTML保存します。 あなたは文字通りちょうどあなたが使用することができますを除去したい場合:

$("p").html(function(i,h){ return h.replace(/<b>/g,'').replace(/<\/b>/g,''); }); 

またはresult = str.replace(/(<p[^>]+?>|<p>|<\/p>)/img, "");

またはこの試してみてください。それはここでは、 `WordPress`の問題を知られている

`var str = "Some awesome text with a <p class='myClass'>new paragraph</p> and more text."; 

    var $temp = $("<div>").html(str); 
    $temp.find("p").each(function() { $(this).replaceWith(this.childNodes); }); 

    var output = $temp.html();` 
関連する問題