如何替换插件打印的 WordPress 标题中的字符?
Posted
技术标签:
【中文标题】如何替换插件打印的 WordPress 标题中的字符?【英文标题】:How to replace character from WordPress titles printed by plugin? 【发布时间】:2018-02-16 07:34:48 【问题描述】:我想替换我的 Wordpress 标题的特殊字符,使换行符 + 斜体。
但是,我的问题很特殊,因为我使用的是 Wordpress 插件“Posts per Cat”,它会按类别显示我的帖子标题。所以,我不能通过结合str_replace
和get_title
函数来解决我的问题,因为插件已经获得了标题。根据下面的 html 代码,如何在我的标题中将字符“|”替换为 <br>
,并将 <i>
替换为斜体?
有没有办法在 php 或 CSS 中做到这一点?
这是 HTML 代码:标题是在 <a>
标签中获得的
<div id="ppc-box">
<div class="ppc-box one">
<div class="ppc">
<h3>CURRENTLY</h3>
<ul>
<li>
<a href="http://temporarygallery.org/do-not-remove-this-folder/nouvelle-exposition-2/" class="ppc-post-title" title="Article BOOK LAUNCH & KÜNSTLERGESPRÄCH published at 18 juillet 2017 10 h 57 min">BOOK LAUNCH & KÜNSTLERGESPRÄCH</a></li>
<li>
<a href="http://temporarygallery.org/do-not-remove-this-folder/alleinanspruch/" class="ppc-post-title" title="Article PARKFIELD STUDIES | Marianna Christofides | <i>27 August – 30 August 2017</i> published at 18 juillet 2017 10 h 59 min">PARKFIELD STUDIES | Marianna Christofides | <i>27 August – 30 August 2017</i></a></li>
<li>
<a href="http://temporarygallery.org/do-not-remove-this-folder/fourth-post-test/" class="ppc-post-title" title="Article ALLEINANSPRUCH | Arne Schmitt, Nico Joana Weber | <i>4 Februar – 30 April 2017</i> published at 20 juillet 2017 17 h 52 min">ALLEINANSPRUCH | Arne Schmitt, Nico Joana Weber | <i>4 Februar – 30 April 2017</i></a></li>
</ul>
</div>
</div>
<div class="clear"></div>
<div class="ppc-box one">
<div class="ppc">
<h3>PREVIEW</h3>
<ul>
<li>
<a href="http://temporarygallery.org/do-not-remove-this-folder/second-post-test/" class="ppc-post-title" title="Article RESPAWN | Eloïse Bonneviot, Anne de Boer | <i>4 July – 30 July 2017</i> published at 20 juillet 2017 17 h 50 min">RESPAWN | Eloïse Bonneviot, Anne de Boer | <i>4 July – 30 July 2017</i></a></li>
<li>
<a href="http://temporarygallery.org/do-not-remove-this-folder/third-post-test/" class="ppc-post-title" title="Article THE COMMON TOAD | Victoria Adam | <i>27 Mai – 30 Juli 2017</i> published at 20 juillet 2017 17 h 51 min">THE COMMON TOAD | Victoria Adam | <i>27 Mai – 30 Juli 2017</i></a></li>
</ul>
</div>
</div>
<div class="clear"></div>
<div class="clear"></div>
</div>
【问题讨论】:
不确定你的意思,你能通过进一步解释澄清吗? @Script47 我的 HTML 代码中有<a>
标签。在那些<a>
标签中有class="ppc-post-title"
和title=" "
。在title=" "
中有我的Wordpress 的标题。我想添加一个替换字符“|”的函数在这些标题中用换行符和“”用斜体表示。我正在寻找一种方法来实现这一点,无论是在 PHP 还是 CSS 中。
@Script47 更清楚了吗?例如,如果我在 wordpress admin 中将标题写为:“MY | TITLE”,则“|”字符将被换行符替换,并且标题将打印在两行。
【参考方案1】:
您可以使用一些自定义 jQuery hack 来实现。看看吧。
jQuery(document).ready(function($)
$('li a').each(function()
var title = $(this).text()
title = title.replace("<i>","")
title = title.replace("</i>","")
title = title.replace(/\|/g,"")
title = $(this).html(title)
)
)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="ppc-box">
<div class="ppc-box one">
<div class="ppc">
<h3>CURRENTLY</h3>
<ul>
<li>
<a href="http://temporarygallery.org/do-not-remove-this-folder/nouvelle-exposition-2/" class="ppc-post-title" title="Article BOOK LAUNCH & KÜNSTLERGESPRÄCH published at 18 juillet 2017 10 h 57 min">BOOK LAUNCH & KÜNSTLERGESPRÄCH</a></li>
<li>
<a href="http://temporarygallery.org/do-not-remove-this-folder/alleinanspruch/" class="ppc-post-title" title="Article PARKFIELD STUDIES | Marianna Christofides | <i>27 August – 30 August 2017</i> published at 18 juillet 2017 10 h 59 min">PARKFIELD STUDIES | Marianna Christofides | <i>27 August – 30 August 2017</i></a></li>
<li>
<a href="http://temporarygallery.org/do-not-remove-this-folder/fourth-post-test/" class="ppc-post-title" title="Article ALLEINANSPRUCH | Arne Schmitt, Nico Joana Weber | <i>4 Februar – 30 April 2017</i> published at 20 juillet 2017 17 h 52 min">ALLEINANSPRUCH | Arne Schmitt, Nico Joana Weber | <i>4 Februar – 30 April 2017</i></a></li>
</ul>
</div>
</div>
<div class="clear"></div>
<div class="ppc-box one">
<div class="ppc">
<h3>PREVIEW</h3>
<ul>
<li>
<a href="http://temporarygallery.org/do-not-remove-this-folder/second-post-test/" class="ppc-post-title" title="Article RESPAWN | Eloïse Bonneviot, Anne de Boer | <i>4 July – 30 July 2017</i> published at 20 juillet 2017 17 h 50 min">RESPAWN | Eloïse Bonneviot, Anne de Boer | <i>4 July – 30 July 2017</i></a></li>
<li>
<a href="http://temporarygallery.org/do-not-remove-this-folder/third-post-test/" class="ppc-post-title" title="Article THE COMMON TOAD | Victoria Adam | <i>27 Mai – 30 Juli 2017</i> published at 20 juillet 2017 17 h 51 min">THE COMMON TOAD | Victoria Adam | <i>27 Mai – 30 Juli 2017</i></a></li>
</ul>
</div>
</div>
<div class="clear"></div>
<div class="clear"></div>
</div>
我给了你一个想法,你可以使用 jQuery 替换功能替换任何你想要的东西。如果您需要更多帮助,请告诉我。 谢谢
【讨论】:
感谢您的回答。好吧,我们将不胜感激!它似乎不起作用。这是您可以看到问题的页面的link。 我正在处理一个 .php 文件,该文件用作我的 wordpress 的模板页面。我的 jQuery 链接放在另一个 .php 文件中。 您好,您可以通过运行代码看到它的工作原理。请尝试将 jQuery 放在 script 标签内的 footer.php 中,如上面的代码所示。您无需添加任何其他内容。 好的,我可以看到我可以替换字符...但是换行符和斜体不起作用...因为如果我添加<br>
,它会将“|”替换为“”作为文本,而不是作为换行符。斜体也一样,如何设置斜体? (jQuery 在我的 header.php 文件中,可以吗?)
好的,解决了。这是因为 jQuery 设置在 .text
而不是 .html
。我已经更新了你的答案。非常感谢! :-)以上是关于如何替换插件打印的 WordPress 标题中的字符?的主要内容,如果未能解决你的问题,请参考以下文章
wordpress插件bug排查后记(这篇文章是写给自己的)