【问题标题】:PHP print message when a div is present on specific page当特定页面上存在 div 时 PHP 打印消息
【发布时间】:2022-02-12 07:30:04
【问题描述】:

如果页面上存在 div,我正在尝试通过 PHP 打印消息(链接)。基本上 div 存在于电子商务网站的某些产品页面上,而它不存在于其他产品页面上。电子商务是 Woocommerce,这就是我在代码中使用 Woo 挂钩的原因。

基本上我没有得到任何回报(即使在访问存在 div 的页面时)。我错过了什么?

add_filter('woocommerce_before_add_to_cart_button', 'size_guide_display', 15);
function size_guide_display() {
    $sizeguide = $html->find("div#tab-SizeChart_tab");
    if ($sizeguide) :
        echo '<a href="#tab-SizeChart_tab" title="Storleksguide" class="size_guide_link">Storleksguide</a>';
    endif;
}

我会很高兴收到任何回复 :-) PHP 新手。

谢谢!

【问题讨论】:

  • 我可能会使用 Javascript 来做到这一点。
  • @GrumpyCrouton 你会怎么做?
  • 使用javascript检查页面上是否存在元素,然后显示消息。
  • 如果我是 PHP 新手,您应该了解我的 JS 技能 :-) 不知道如何编写该代码。无论如何,谢谢,会做一些谷歌搜索
  • 没有。 Javascript 与 PHP 是分开的,不要使用 PHP 来回显它。并将其包装在

标签: php html woocommerce


【解决方案1】:

根据您提供的信息,我猜想在客户端使用 JavaScript 将是您的最佳选择。

document.addEventListener("DOMContentLoaded", () => {
    const sizeChartTabEle = document.querySelector("div#tab-SizeChart_tab")
    const storleksGuideLinkEle = document.createElement("a")
    storleksGuideLinkEle.title = "Storleksguide"
    storleksGuideLinkEle.href = "#tab-SizeChart_tab"
    storleksGuideLinkEle.classList.add("size_guide_link")
    storleksGuideLinkEle.innerText = "Storleksguide"
    sizeChartTabEle?.append(storleksGuideLinkEle)
})

此代码创建一个事件侦听器DOMContentLoaded(请参阅this StackOverflow answer 了解更多信息,说的非常基础 - 它等待您的内容被加载)并执行大括号中的部分。

您的div#tab-SizeChart_tab 被查询,然后附加一个新创建的a 元素storleksGuideLinkEle

如果您确保此代码仅在您需要的页面上执行,那么它应该可以完成这项工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-13
    相关资源
    最近更新 更多