【问题标题】:Modifying Image Source If Image Source Contains Sub-String修改图像源的图像源包含子字符串
【发布时间】:2015-09-18 23:06:46
【问题描述】:

我目前正在修改一个恰好是 Divi 子主题的 WordPress 主题。

我遇到了一个问题,新产品上的所有图片都被替换为 400x400 缩略图。我已通过Settings->Media 禁用缩略图并将所有内容设置为 0 并取消选中缩略图自动调整大小的选项。

我的问题是客户上传的数千张图片仍显示为 400x400。我想通过简单地通过 jQuery 从图像 src 中删除“-400x400”子字符串来调整这些图像的大小。

下面是我写的代码;但是,我没有收到任何错误,但它并没有纠正我的问题。

有谁知道我应该怎么做,或者为什么我的代码没有抛出错误但也不起作用?

var $imgs = $("img.wp-post-image");
$imgs.each(function () {
    if ($(this).attr("src").indexOf("-400x400") >= 0) {
        var $newsrc = $(this).attr("src").replace("-400x400", "");
        $(this).attr("src", $newsrc);
        $(this).attr("width", "304");
        $(this).attr("height", "400");
    }
});

【问题讨论】:

  • function$imgs.each(fucntion () { 中有错字,在真实代码中也是如此吗?您是否看到任何控制台错误?
  • 是的,它是在真实的代码中......我不知道我怎么没看到!谢谢,它似乎仍然没有解决问题,但我仍然没有看到任何关于脚本的控制台错误。
  • 您可能需要与您的问题一起分享一些 HTML 以了解我们如何提供帮助。仅凭一部分问题/解决方案是不可能排除故障的
  • 但是您正在收到控制台错误:Uncaught ReferenceError: jQuery is not defined。你还没有将 jQuery 加入队列。
  • 应该注意的是,通过wp_enqueue_script() 将脚本排入队列可以缓解此类问题,因为您可以声明依赖项。

标签: javascript jquery css wordpress


【解决方案1】:

您需要确保您的custom.js 文件在加载 jquery 之后加载。

现在,您的custom.js 正在尝试执行一些代码之前 jquery 被加载到页面上

另外,$imgs.each(fucntion () { 中有一个错字

它应该是(当然)function()

除此之外,您的代码正在运行。 See Fiddle

【讨论】:

    【解决方案2】:

    如果您查看页面的 head 部分,您会注意到 custom.js 在 jquery 之前加载。

    <script src="https://broadwayfashionista.com/wp-content/themes/broadway-fashionista/js/custom.js" type="text/javascript"></script>
    
    
    .........
    
    
    <script type='text/javascript' src='https://broadwayfashionista.com/wp-includes/js/jquery/jquery.js?ver=1.11.3'></script>
    

    尝试颠倒顺序

    【讨论】:

    • 代码工作正常,我只需要将导入移到我的 header.php 文件中的一些内容下方......糟糕。任何其他日子我都会想到这一点,但我的大脑被炸了!谢谢大家的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-19
    • 2020-04-26
    • 1970-01-01
    • 1970-01-01
    • 2017-06-15
    • 2019-06-25
    • 1970-01-01
    相关资源
    最近更新 更多