如何替换插件打印的 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_replaceget_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 &amp; KÜNSTLERGESPRÄCH published at 18 juillet 2017 10 h 57 min">BOOK LAUNCH &amp; 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 | &lt;i&gt;27 August – 30 August 2017&lt;/i&gt; published at 18 juillet 2017 10 h 59 min">PARKFIELD STUDIES | Marianna Christofides | &lt;i&gt;27 August – 30 August 2017&lt;/i&gt;</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 | &lt;i&gt;4 Februar – 30 April 2017&lt;/i&gt; published at 20 juillet 2017 17 h 52 min">ALLEINANSPRUCH | Arne Schmitt, Nico Joana Weber | &lt;i&gt;4 Februar – 30 April 2017&lt;/i&gt;</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 | &lt;i&gt;4 July – 30 July 2017&lt;/i&gt; published at 20 juillet 2017 17 h 50 min">RESPAWN | Eloïse Bonneviot, Anne de Boer | &lt;i&gt;4 July – 30 July 2017&lt;/i&gt;</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 | &lt;i&gt;27 Mai – 30 Juli 2017&lt;/i&gt; published at 20 juillet 2017 17 h 51 min">THE COMMON TOAD | Victoria Adam | &lt;i&gt;27 Mai – 30 Juli 2017&lt;/i&gt;</a></li>
      </ul>

    </div>
  </div>
  <div class="clear"></div>
  <div class="clear"></div>
</div>

【问题讨论】:

不确定你的意思,你能通过进一步解释澄清吗? @Script47 我的 HTML 代码中有 &lt;a&gt; 标签。在那些&lt;a&gt; 标签中有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 &amp; KÜNSTLERGESPRÄCH published at 18 juillet 2017 10 h 57 min">BOOK LAUNCH &amp; 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 | &lt;i&gt;27 August – 30 August 2017&lt;/i&gt; published at 18 juillet 2017 10 h 59 min">PARKFIELD STUDIES | Marianna Christofides | &lt;i&gt;27 August – 30 August 2017&lt;/i&gt;</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 | &lt;i&gt;4 Februar – 30 April 2017&lt;/i&gt; published at 20 juillet 2017 17 h 52 min">ALLEINANSPRUCH | Arne Schmitt, Nico Joana Weber | &lt;i&gt;4 Februar – 30 April 2017&lt;/i&gt;</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 | &lt;i&gt;4 July – 30 July 2017&lt;/i&gt; published at 20 juillet 2017 17 h 50 min">RESPAWN | Eloïse Bonneviot, Anne de Boer | &lt;i&gt;4 July – 30 July 2017&lt;/i&gt;</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 | &lt;i&gt;27 Mai – 30 Juli 2017&lt;/i&gt; published at 20 juillet 2017 17 h 51 min">THE COMMON TOAD | Victoria Adam | &lt;i&gt;27 Mai – 30 Juli 2017&lt;/i&gt;</a></li>
      </ul>

    </div>
  </div>
  <div class="clear"></div>
  <div class="clear"></div>
</div>

我给了你一个想法,你可以使用 jQuery 替换功能替换任何你想要的东西。如果您需要更多帮助,请告诉我。 谢谢

【讨论】:

感谢您的回答。好吧,我们将不胜感激!它似乎不起作用。这是您可以看到问题的页面的link。 我正在处理一个 .php 文件,该文件用作我的 wordpress 的模板页面。我的 jQuery 链接放在另一个 .php 文件中。 您好,您可以通过运行代码看到它的工作原理。请尝试将 jQuery 放在 script 标签内的 footer.php 中,如上面的代码所示。您无需添加任何其他内容。 好的,我可以看到我可以替换字符...但是换行符和斜体不起作用...因为如果我添加&lt;br&gt;,它会将“|”替换为“”作为文本,而不是作为换行符。斜体也一样,如何设置斜体? (jQuery 在我的 header.php 文件中,可以吗?) 好的,解决了。这是因为 jQuery 设置在 .text 而不是 .html。我已经更新了你的答案。非常感谢! :-)

以上是关于如何替换插件打印的 WordPress 标题中的字符?的主要内容,如果未能解决你的问题,请参考以下文章

wordpress不用插件实现批量替换文章内容中的旧地址

wordpress插件bug排查后记(这篇文章是写给自己的)

wordpress 打印中的简码始终位于顶部,内联 HTML

chalk插件 使终端输出的字带颜色

如何用百度UEditor编辑器替换WordPress编辑器

如何检查当前页面是不是是wordpress中的插件管理面板