我正在寻找一种方法来禁用WooCommerce上"查看购物车"和/或"结帐"页面上的默认付款选项和送货选项.
我尝试的一切都没有用.由于本节保持刷新,JS失败了.并且PHP失败,因为它在购物车中的每次更改时都会被取消选中.
知道如何做到这一点?
谢谢
出于某种原因,IE9使Arial字体比其他浏览器更大胆,例如:IE7,IE8,Chrome和Firefox.我在CSS中寻找原因却找不到任何错误.
发生的另一件事是我的大多数网站都有1或2像素的字间距,但IE9显示它太宽,所以我用正常的字间距为它做了条件css.
您可以在附加的屏幕截图中看到差异,也可以在此临时链接中找到它:http:
 //pat.co.il/shirg/matanuziel.com/

任何想法将不胜感激.谢谢
为了遵循Google Page Insights的建议,我得到了“ JS渲染块”建议,该建议与jQuery主文件有关。
我的网站使用WordPress和一些插件。其中一个插件将其JS内联。因此,当我移动jQuery到页脚中进行加载时,或者使用“ defer”模式进行加载时,jQuery is not defined内联代码都会触发。
我试图找到一种全局解决方案来“捕获”所有内联脚本,并jQuery在文档末尾执行主文件后将其延迟。
我写了一个非常适合我的解决方案。对于我的特定情况,这是非常简单的解决方案,但是我无法将其作为过滤器the_content或小部件输出。我想使它成为一个全局解决方案,所以我不必担心任何地方会触发JS。
有什么想法使它起作用吗?到目前为止,这里是我针对此特定情况的代码,它通过短代码运行:
/* Get shortcode HTML */ 
$widget_shortcode = do_shortcode($shortcode);
/* Take out all scripts into an array */
$delayed_scripts = array();
preg_match_all('#<script(.*?)</script>#is', $widget_shortcode, $match);
foreach ($match as $val){
    $delayed_script = '<script '.$val[0].'</script>';
    array_push($delayed_scripts, $delayed_script);
}
/* Remove all scripts from HTML */
$widget_shortcode = preg_replace('#<script(.*?)</script>#is', '', $widget_shortcode);
/* Echo filtered HTML */
echo $widget_shortcode;
Run Code Online (Sandbox Code Playgroud)
并且在结束</body>标记之前:
foreach ($delayed_scripts …Run Code Online (Sandbox Code Playgroud) 任何包含页面类型帖子、订单类型帖子或帖子的页面都会显示此错误。这仅在托管环境中可见。我无法在本地复制错误
我已按此顺序执行了以下操作:
来自类-wp.php:
foreach ( (array) $rewrite as $match => $query ) {
    // If the requested file is the anchor of the match, prepend it to the path info.
    if ( ! empty( $requested_file ) && strpos( $match, $requested_file ) === 0 && $requested_file != $requested_path ) {
        $request_match = $requested_file . '/' . $requested_path;
    }
    if ( preg_match( "#^$match#", $request_match, $matches ) ||
        preg_match( "#^$match#", urldecode( $request_match ), $matches ) …Run Code Online (Sandbox Code Playgroud) user_id会话变量.header('Location')重定向.重定向到同一个域,所有页面都有 session_start();
而且我发现它更有可能发生在IE中而不是FF ...奇怪.
我在选择表格中的正确单元格时遇到一些困难.我有一个足球比赛桌.每个表都以ID'游戏'开头,然后是序列号,即:id='game122238'.
每个表有两行.在第一行,我有5个单元格.在第二个,我有一个团队.在第三个,我有结果.第四,我有第二支队伍.
我成功选择了所有表格:
$('table[id^=game]');
Run Code Online (Sandbox Code Playgroud)
但后来我卡住了.我怎么能:A.将所有"主队"变成一个阵列.B.将所有结果放在另一个数组中.C.让所有'客队'进入第三阵容.
谢谢!
我试图定义动态变量.我正在使用一个函数,但我不知道如何将新var定义为全局(因为它从未在函数之前创建).
那可能吗 ?
谢谢.
好的,这就是我建造的.那危险吗?
function extract_values($row) {
    foreach ($row as $key => $value){
        global $$key;
        $$key = $value;
    }
}
Run Code Online (Sandbox Code Playgroud)
然后我试图让我的生活更轻松:
$result = mysql_query("SELECT first_name, last_name, address FROM users ORDER BY id ASC");
    while ($row = mysql_fetch_array($result)){
        extract_values($row);
#[do some stuff with the variables.]#
}
Run Code Online (Sandbox Code Playgroud)
我这样做是为了节省时间.而不是为每个列创建它自己的变量
$first_name = $row['first_name'];
Run Code Online (Sandbox Code Playgroud)
这个功能对我有用.我不明白为什么在这种情况下它可能是危险的..或者因为通常,我错过了一些东西..
我们有一个自定义代码,允许最终用户选择送货城市、日期和时间。送货费率应根据城市而变化。结账页面上有城市选择框。
更改城市会触发 ajax,成功更改订单审核部分下显示的送货费用。到目前为止,一切都很好。遗憾的是,提交订单后价格并未到达订单。它在某个地方丢失了。
一个提示可能是,产品页面上也有相同的城市选择框,如果用户在添加到购物车时选择了它,然后去结帐,则会显示送货率并且不会丢失提交订单时。
是否需要触发任何刷新才能更新运费?
更新费率的函数(成功)
function adjust_shipping_rate( $rates ){
    global $woocommerce;
        foreach ($rates as $rate) {
            $cost = $rate->cost;
            $rate->cost = $_COOKIE['shipping_city_cost'];
        }
        return $rates;
}
add_filter( 'woocommerce_package_rates', 'adjust_shipping_rate', 50, 1 );
Run Code Online (Sandbox Code Playgroud)
更新 21-05-2017
这就是 cookie 的更新方式:一旦选择框发生更改,就会触发异步 ajax 调用并执行以下 PHP 代码。
function get_and_set_shipping_rate(){
    $shipping_city = $_POST['city'];
    $shipping_cost = get_shipping_cost_by_city($shipping_city);
    setcookie('shipping_city_cost', $shipping_cost, time() + (86400 * 30), '/'); 
    $_COOKIE['shipping_city_cost'] = $shipping_cost;
    echo 'Shipping cost updated: '.$shipping_city.' : '.$shipping_cost;
}
add_action( 'wp_ajax_get_and_set_shipping_rate', 'get_and_set_shipping_rate' );
add_action( 'wp_ajax_nopriv_get_and_set_shipping_rate', 'get_and_set_shipping_rate' );
Run Code Online (Sandbox Code Playgroud)
这是 ajax 调用: …
我正在寻找一个工具来解析JS文件,同时恢复整个文档中的变量名称.
例如,在unminify.com上运行缩小代码后,代码本身包含:
W.find("li.patternItem").click(function() {
Run Code Online (Sandbox Code Playgroud)
在代码的末尾有一个参考什么是W:
W = $("#pattern1")
Run Code Online (Sandbox Code Playgroud)
所以我正在寻找一个简单的脚本来恢复代码中的名称,但找不到一个.我知道自动替换可能对代码有害,但我想应该有一些聪明的方法来恢复.现在我手动完成并替换"W".用"$("#pattern1")." (匹配大小写,最后带点)所以它不会与任何W字母混合.
谢谢