标签: hook-woocommerce

自定义WooCommerce review-order.php结帐模板

所以我正在研究具有儿童主题的WooCommerce.我创建了我的结构,

/themes/child/woocommerce/checkout/review-order.php
Run Code Online (Sandbox Code Playgroud)

我的目标只是向页面添加一些"静态文本".所以,例如,<h2>Purchase Disclaimer</h2>

review-order.php

<?php
if ( ! defined( 'ABSPATH' ) ) {
    exit;
}
?>
<h2>Purchase Disclaimer</h2>
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我查看页面时,它会去,

<h2>Purchase Disclaimer</h2>
<h2>Purchase Disclaimer</h2>
Run Code Online (Sandbox Code Playgroud)

我不知道为什么它似乎加载了2次.这是一个小故障,还是我加载它很奇怪?也许有人可以帮我澄清一下这个问题.

提前致谢

php wordpress orders woocommerce hook-woocommerce

4
推荐指数
1
解决办法
5413
查看次数

在WooCommerce的产品页面上添加产品简短描述上方的内容

我正在寻找一种方法在WooCommerce的产品页面上的产品标题和简短描述之间插入自定义内容.到目前为止,我只能使用以下代码在简短描述的开头添加自定义内容:

function insert_content( $post_excerpt )  {
      $content = 'My custom content';
       return $content.'<br>'.$post_excerpt; } 
add_filter('woocommerce_short_description', 'insert_content', 10, 1);
Run Code Online (Sandbox Code Playgroud)

但是,我需要将此内容放在产品标题和简短说明标题之间,而不是在最后一个标题之下.我想我正在使用错误的钩子,但我试过的其他几个不起作用.有任何想法吗?

php wordpress woocommerce hook-woocommerce

4
推荐指数
1
解决办法
6205
查看次数

用于从管理员创建订单的 WooCommerce 挂钩

在我的自定义插件(在 WooCommerce 2.6.x 和 3.x 中工作)中,我需要在创建新订单时获取订单 ID。我尝试了不同的挂钩,但它们仅在客户创建订单时起作用,而不是在从管理员创建订单时起作用。

我试过:

  • woocommerce_new_order
  • woocommerce_thankyou
  • woocommerce_checkout_order_processed
  • woocommerce_checkout_update_order_meta

更新

最后我用了这个:

add_action('wp_insert_post', function($order_id)
{
    if(!did_action('woocommerce_checkout_order_processed') 
        && get_post_type($order_id) == 'shop_order'
        && validate_order($order_id))
    {
         order_action($order_id);
    }
});
Run Code Online (Sandbox Code Playgroud)

其中validate_order是:

function validate_order($order_id)
{
    $order = new \WC_Order($order_id);
    $user_meta = get_user_meta($order->get_user_id());
    if($user_meta)
        return true;
    return false;
}
Run Code Online (Sandbox Code Playgroud)

感谢validate_order,当您开始创建订单时,该操作不会执行。我使用它是!did_action('woocommerce_checkout_order_processed')因为我不希望在客户创建订单时执行该操作(我为此有一个特定操作,使用woocommerce_checkout_order_processed)。

php woocommerce hook-woocommerce

4
推荐指数
1
解决办法
8950
查看次数

如何在Woocommerce的链接产品中添加更多自定义字段

感谢StackOverflow的所有开发人员.

我想在Woocommerce的Linked Product部分添加更多字段.这些字段应与Upsell/Crosssell类似.

我的代码到目前为止: -

add_action( 'woocommerce_product_options_linked_product_data', 'woocom_general_product_data_custom_field' );

 woocommerce_wp_text_input( 
    array( 
      'id' => '_upsizing_products', 
      'label' => __( 'Upsizing Products', 'woocommerce' ), 
      'placeholder' => 'Upsizing Products',
      'desc_tip' => 'true',
      'description' => __( 'Select Products Here', 'woocommerce' ) 
    )
  );
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我需要组合框,例如,当您在输入框中键入3个字符时,它将显示可以选择的匹配产品列表.与Upsell/Cross Sell类似.

请任何人帮我实现此自定义字段.提前致谢.

编辑:有人吗?

php wordpress woocommerce hook-woocommerce

4
推荐指数
1
解决办法
1913
查看次数

向WooCommerce产品说明添加自定义内容

我正在尝试在说明末尾插入一些文本。过滤器可以吗?

还是我需要通过儿童主题来做到这一点?一直试图找到描述的钩子,但只能找到一个简短的描述。例:

这是一个描述。

只需一些示例文本即可填写说明。

我想要的是注入“这是描述中的最后一行”,因此孔描述将如下所示。

这是一个描述。

只需一些示例文本即可填写说明。

这是描述中的最后一行

我在简短描述之前插入文本的代码是这样的:

add_filter( 'woocommerce_short_description', 'single_product_short_descriptions', 10, 1 );
function single_product_short_descriptions( $post_excerpt ){
    global $product;

    if ( is_single( $product->id ) )
        $post_excerpt = '<div class="product-message"><p>' . __( "Article only available in the store.", "woocommerce" ) . '</p></div>' . $post_excerpt;

    return $post_excerpt;
}
Run Code Online (Sandbox Code Playgroud)

php wordpress product woocommerce hook-woocommerce

4
推荐指数
1
解决办法
3106
查看次数

覆盖“Woocommerce Shipment Tracking”插件模板文件

我一直在尝试覆盖“Woocommerce Shippment Tracking”插件中的模板:
/wp-content/plugins/woocommerce-shipment-tracking/templates/email/tracking-info.php

我已经尝试过,但找不到合适的挂钩,并且当我尝试在主题中创建文件时没有成功。

有人知道如何在这个插件中自定义模板而不编辑插件本身吗?

php wordpress templates woocommerce hook-woocommerce

4
推荐指数
1
解决办法
813
查看次数

在Woocommerce中重命名多个订单状态

我正在尝试通过编辑我的主题的functions.php文件来重命名多个WooCommerce订单状态.我发现几年前发布的一些代码可以改变单个订单状态,但由于我对php非常缺乏经验,我不知道如何扩展它以改变多个状态.理想情况下,我还想将'wc-processing'重命名为'付费',将'wc-on-hold'重命名为'待定'.

这是我发现编辑单个订单状态的代码:

function wc_renaming_order_status( $order_statuses ) {
    foreach ( $order_statuses as $key => $status ) {
        $new_order_statuses[ $key ] = $status;
        if ( 'wc-completed' === $key ) {
            $order_statuses['wc-completed'] = _x( 'Order Received', 'Order status', 'woocommerce' );
        }
    }
    return $order_statuses;
}
add_filter( 'wc_order_statuses', 'wc_renaming_order_status' );
Run Code Online (Sandbox Code Playgroud)

任何人都知道我需要做些什么改变来改变其他状态?

php wordpress orders woocommerce hook-woocommerce

4
推荐指数
1
解决办法
1590
查看次数

在 Woocommerce 中将产品描述移至简短描述之后

我已使用此挂钩的第一个选项(其他选项不起作用)->所有产品的 Woocommerce 产品默认描述

这就是它的样子(红色标记的文字是标准描述)

但是,我希望文本出现在产品描述之后。红色箭头所在的位置是标准文本。所以上面的“in winkelmand”(意思是“添加到购物袋”)

我怎样才能实现这个目标?

php wordpress product woocommerce hook-woocommerce

4
推荐指数
2
解决办法
9014
查看次数

删除WooCommerce变量产品上的重置变体按钮

在可变产品上,我想删除选择变体(例如尺寸,颜色)时可以在我的WooCommerce产品页面上看到的重置变体按钮,该按钮可以重置所有已做出的选择。

即使未显示此弹出窗口,也会修改“变化”选项卡的显示。“最后一个版本”标签与其他标签未对齐(因为需要一些空间才能显示弹出窗口)。

我应该怎么做才能根本不调用此函数(因此,弹出窗口不需要任何空间,并且变体选项卡可以正确显示)?

我试图使其不可见,但这还不够。我根本不称呼它。

<a class="reset_variations" href="#" style="visibility: visible; display: block;">Reset</a>
Run Code Online (Sandbox Code Playgroud)

在“点击”事件中,将调用javascript。

我希望不调用javascript,以便变体标签正确显示。

php wordpress product woocommerce hook-woocommerce

4
推荐指数
1
解决办法
1331
查看次数

在 WooCommerce 中设置我的帐户自定义项目端点标题

我通过成功添加新端点来自定义我的 woocommerce 帐户页面。\n这个新端点的标题是“我的帐户”默认标题。我也想自定义标题。\n我尝试使用挂钩“woocommerce_endpoint_{endpoints}_title”,它在默认端点上完美工作,但它似乎不适用于自定义端点:

\n

我的自定义端点(不起作用):

\n
add_filter( \'woocommerce_endpoint_favoris_title\', \'change_my_account_favoris_title\', 10, 2 );\nfunction change_my_account_favoris_title( $title, $endpoint ) {\n    $title = __( "Tests", "woocommerce" );\n    return $title;\n}\n
Run Code Online (Sandbox Code Playgroud)\n

自定义端点

\n

默认端点示例工作:

\n
add_filter( \'woocommerce_endpoint_edit-account_title\', \'change_my_account_edit_title\', 10, 2 );\nfunction change_my_account_edit_title( $title, $endpoint ) {\n    $title = __( "Tests", "woocommerce" );\n    return $title;\n}\n
Run Code Online (Sandbox Code Playgroud)\n

默认端点

\n

目前找不到任何相关内容,\n感谢您的宝贵时间

\n
\n

编辑:

\n

我的 woocommerce 帐户部分的完整挂钩:

\n

1/ 创建端点:

\n
add_filter (\'woocommerce_account_menu_items\', \'custom_log_history_link\', 40);\nfunction custom_log_history_link($menu_links){\n    $menu_links = array_slice( $menu_links, 0, 5, true )\n        + array( \'favoris\' …
Run Code Online (Sandbox Code Playgroud)

php wordpress endpoint woocommerce hook-woocommerce

4
推荐指数
1
解决办法
1692
查看次数