小编Mr.*_* Jo的帖子

JavaScript:搜索 URL 参数并将其删除,包括值

我在这里有这个网址:

http://localhost.com/?size=L,M,S&color=Red,Blue,Green
Run Code Online (Sandbox Code Playgroud)

URL 也可以采用以下格式:

http://localhost.com/?color=Red,Blue,Green&size=L,M,S
Run Code Online (Sandbox Code Playgroud)

我现在正在尝试color完全删除参数,包括所有参数以及&第一个示例或?最后一个示例中的 。如果是后一种情况下,我需要改变&size?

我已经尝试过这种方式,但它只是删除了没有任何参数和所有其他东西的参数词:

window.history.pushState(null, null, window.location.search.replace('color', ''));
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到我上面描述的?

javascript

3
推荐指数
1
解决办法
719
查看次数

从字符串中删除所有小数点(最后一个除外)

如何删除字符串中所有小数点,但jQuery或JavaScript中的最后一个小数点除外?

原始琴弦

1.233.543.00
456.00
1.234.00
Run Code Online (Sandbox Code Playgroud)

所需结果

1233543.00
456.00
1234.00
Run Code Online (Sandbox Code Playgroud)

我的jQuery代码提取值:

jQuery('.addui-slider-handle-l span').text()
Run Code Online (Sandbox Code Playgroud)

javascript jquery

3
推荐指数
1
解决办法
76
查看次数

使用正则表达式将日志条目解析为多个部分

我这里有这行文本,它总是相同的(除了最后的消息):

2021-12-08T18:18:38+00:00 INFO Produktbestand erfolgreich von Collmex abgerufen | "STOCK_AVAILABLE;23;1;363;PCE;-1\r\nMESSAGE;S;204020;Daten?bertragung erfolgreich. Es wurden 1 Datens?tze verarbeitet.\r\n"
Run Code Online (Sandbox Code Playgroud)

我有 3 个函数应该返回部分日志条目:

public function get_log_file_entry_time( string $entry ): string {
    
}

public function get_log_file_entry_level( string $entry ): string {

}

public function get_log_file_entry_message( string $entry ): string {

}
Run Code Online (Sandbox Code Playgroud)

我首先尝试使用以空格作为分隔符的爆炸,这有效但不是最好的方法,因为在某些情况下日志消息可能会很长。

我不是正则表达式专家,但我发现以下组合可以匹配前两部分:([^\s]+) ([A-Z]+)

这会返回时间戳和级别。现在我正在努力在第二组之后获取消息 - 也许我的嵌套根本不完美。任何建议都会让我很高兴!

注意

该消息将在日志记录级别后的第一个空格之后开始。例如:

Collmex abgerufen 的产品和服务 | "STOCK_AVAILABLE;23;1;363;PCE;-1\r\nMESSAGE;S;204020;Daten?bertragung erfolgreich。Es wurden 1 Datens?tze verarbeitet。\r\n"

php regex

3
推荐指数
1
解决办法
79
查看次数

从我在 WooCommerce 中的帐户编辑地址中删除帐单电话和电子邮件字段

我正在尝试从 WooCommerce 我的帐户编辑地址中删除电话号码和电子邮件,但它不起作用。我只想在表格中显示没有电子邮件和电话号码的地址。我怎样才能做到这一点?

我试过的:

<div class="woocommerce-address-fields__field-wrapper">
    <?php
    unset( $address[$fields['billing_phone']] );
    foreach ( $address as $key => $field ) {
        if ( isset( $field['country_field'], $address[ $field['country_field'] ] ) ) {
            $field['country'] = wc_get_post_data_by_key( $field['country_field'], $address[ $field['country_field'] ]['value'] );
        }
        woocommerce_form_field( $key, $field, wc_get_post_data_by_key( $key, $field['value'] ) );
    }
    ?>
</div>
Run Code Online (Sandbox Code Playgroud)

这是从form-edit-address.php文件中出来的。我把它放到我的孩子主题中,因为我做了一些其他的改变。因此,删除此 PHP 文件中的字段将是最佳解决方案。

由于电子邮件:我认为我必须做一些事情来防止提交表单时出现错误,因为那里需要此字段。但不知道如何做到这一点。

php account wordpress field woocommerce

2
推荐指数
1
解决办法
1354
查看次数

通过WordPress中的用户元数组中的键删除值

我在WordPress页面上将此数组设置为WordPress用户:

Array
(
    [0] => Array
        (
            [0] => 1509
            [1] => 1597
        )

)
Run Code Online (Sandbox Code Playgroud)

要接收此数组,我正在这样做:

$get_ids = get_user_meta( 3, 'additional_ids', false );
Run Code Online (Sandbox Code Playgroud)

很好,到目前为止!现在,我已经有点问题,因为比如我需要删除值1509user_meta。所以我很想尝试通过当前有效的值来找出密钥:

$key = array_search( (int) $value, $get_ids[0], true );
Run Code Online (Sandbox Code Playgroud)

所以我现在发现关键是[0]。但是,现在我该如何从用户元数据中删除它,这又是一种聪明的方法,并保存它,使我的元数据数组在保存后如下所示:

Array
(
    [0] => Array
        (
            [0] => 1597
        )

)
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的:

//Unset element to delete from the array
unset( $get_ids[0][ $key ] );


//Save it again in the database
update_user_meta( 3, 'additional_ids', $get_ids, false );
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做时,数组完全混乱了,不再可读。

php arrays wordpress multidimensional-array

2
推荐指数
1
解决办法
483
查看次数

禁用购物车页面但在 Woocommerce 中保留结帐页面

我目前正在寻找比这里问题更好的方法来删除/禁用我的 WooCommerce 安装中的购物车页面:

在 WooCommerce 中禁用购物篮

所以我想显示 404 而不是重定向,以便很明显该页面不存在。

功能必须在那里,因为没有这个我的商店就无法工作。

说清楚:


我已经构建了一个自定义按钮,它将产品添加到“购物车”并直接重定向到结帐页面。这应该是唯一可用的过程!

php wordpress redirect cart woocommerce

2
推荐指数
1
解决办法
4320
查看次数

CSS:从左到右添加带动画的边框 | 右到左

我目前正在尝试构建一个标签式 div 容器:

在此处输入图片说明

目前它看起来像这样。我也可以切换标签。每个选项卡都有一个is-active类。

为了向用户显示哪个选项卡处于活动状态,我在每个选项卡下添加了一个边框。当我现在更改选项卡时,边框几乎没有改变。所以从左边移除并添加到右边。

因为这看起来不太漂亮,我想“是否可以在按下标签标题时添加带有从左向右或向左滑动的动画的边框?”

所以它应该看起来像从标签到另一个淡入淡出。知道如何处理这个问题吗?

这是我的简化代码:

jQuery("ul.tabs li").click(function(){
  var e = jQuery(this).attr("aria-controls");
  jQuery(this).hasClass("active")||(jQuery("li").removeClass("active"),jQuery(this).addClass("active"),jQuery("#"+e).show())})
Run Code Online (Sandbox Code Playgroud)
ul.tabs {
    margin: 0!important;
    padding: 0!important;
    background: #f4f4f4;
    display: flex;
}

ul.tabs li {
  flex-grow: 50;
  list-style: none;
  text-align: center;
  background: #fff;
  line-height: 45px;
  cursor: pointer;
}

ul.tabs li a {
  color: black;
  text-decoration: none;
}

ul.tabs li.active {
    cursor: default;
    border-bottom: 2px solid red;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul class="tabs wc-tabs" role="tablist">
  <li class="description_tab active" id="tab-title-description" role="tab" aria-controls="tab-description"> 
    <a href="#tab-description">Beschreibung</a>
  </li>
  <li class="reviews_tab" …
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery

2
推荐指数
1
解决办法
4175
查看次数

JavaScript错误的时间戳格式

我目前正在尝试格式化JavaScript中的时间戳。可悲的是,结果有点奇怪。这是我要格式化的日期:

2019年5月23日星期四17:34:18 GMT + 0200(MitteleuropäischeSommerzeit)

这是格式化后的样子:

2019年05月23日

这是我的代码:

j = myDateString;
console.log(j.getUTCDate() + "." + j.getUTCMonth() + "." + j.getUTCFullYear());
Run Code Online (Sandbox Code Playgroud)

但是,当我运行代码时,结果如下:

23.4.2019

javascript date

2
推荐指数
1
解决办法
35
查看次数

WordPress - 如何仅将类添加到顶级导航链接

我正在尝试在 WordPress 中创建以下菜单:

<ul class="nav navbar-nav navbar-right">
    <li class="dropdown submenu">
       <a href="#" class="dropdown-toggle nav-active">Link</a>
    </li>
    <li class="dropdown submenu">
       <a href="#" class="dropdown-toggle">Link</a>
    </li>
    <li class="dropdown submenu">
       <a href="#" class="dropdown-toggle">Link</a>
    </li>
    <li class="dropdown submenu">
       <a href="#" class="dropdown-toggle">Link</a>
         <ul class="dropdown-menu other_dropdwn">
            <li><a href="#">Link</a></li>
            <li><a href="#">Link</a></li>
            <li><a href="#">Link</a></li>
            <li><a href="#">Link</a></li>
         </ul>
    </li>
    <li class="dropdown submenu">
        <a href="#" class="dropdown-toggle">Link</a>
         <ul class="dropdown-menu other_dropdwn">
            <li><a href="#">Link</a></li>
            <li><a href="#">Link</a></li>
            <li><a href="#">Link</a></li>
            <li><a href="#">Link</a></li>
            <li><a href="#">Link</a></li>
            <li><a href="#">Link</a></li>
            <li><a href="#">Link</a></li>
            <li><a href="#">Link</a></li>
         </ul>
    </li>
    <li class="dropdown submenu">
        <a href="#" …
Run Code Online (Sandbox Code Playgroud)

html javascript wordpress

2
推荐指数
1
解决办法
555
查看次数

无法检查签名板是否为空

我的签名板有问题。当我按下提交按钮而不在键盘上签名时,我会抛出一个错误,但我收到了这个错误:

未捕获的 ReferenceError:signaturePad 未定义

这是我的代码:

jQuery(document).ready(function () {
  var signaturePadCanvas = document.querySelector('#signature-pad-canvas');
  var parentWidth = jQuery(signaturePadCanvas).parent().outerWidth();
  signaturePadCanvas.setAttribute("width", parentWidth);
  var signaturePad = new SignaturePad(signaturePadCanvas);
});

function submit() {
  if (signaturePad.isEmpty()) {
    console.log("Empty!");
  }
}
Run Code Online (Sandbox Code Playgroud)
.signature-pad-canvas-wrapper {
    margin: 15px 0 0;
    border: 1px solid #cbcbcb;
    border-radius: 3px;
    overflow: hidden;
    position: relative;
}

.signature-pad-canvas-wrapper::after {
    content: 'Name';
    border-top: 1px solid #cbcbcb;
    color: #cbcbcb;
    width: 100%;
    margin: 0 15px;
    display: inline-flex;
    position: absolute;
    bottom: 10px;
    font-size: 13px;
    z-index: -1;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/signature_pad@2.3.2/dist/signature_pad.min.js"></script> …
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery

2
推荐指数
1
解决办法
3622
查看次数