加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Woocommerce订阅 – 在订阅ID旁边添加产品名称

发布时间:2020-12-13 17:01:45 所属栏目:PHP教程 来源:网络整理
导读:我找不到专门针对Woocommerce订阅的论坛,所以我希望Stack可以帮助我! 在“我的订阅”页面上,有一个表格,显示所有客户的订阅.订阅以ID号命名.我想在ID旁边添加订阅产品名称. 以下是插件中与向表中添加ID有关的代码: ?php foreach ( $subscriptions as $subs
我找不到专门针对Woocommerce订阅的论坛,所以我希望Stack可以帮助我!

在“我的订阅”页面上,有一个表格,显示所有客户的订阅.订阅以ID号命名.我想在ID旁边添加订阅产品名称.

以下是插件中与向表中添加ID有关的代码:

<?php foreach ( $subscriptions as $subscription_id => $subscription ) : ?>
    <tr class="order">
        <td class="subscription-id order-number" data-title="<?php esc_attr_e( 'ID','ultimatewoo-pro' ); ?>">
            <a href="<?php echo esc_url( $subscription->get_view_order_url() ); ?>"><?php echo esc_html( sprintf( _x( '#%s','hash before order number','ultimatewoo-pro' ),$subscription->get_order_number() ) ); ?></a>
            <?php do_action( 'woocommerce_my_subscriptions_after_subscription_id',$subscription ); ?>
        </td>
    </tr>
<?php endforeach; ?>

您会注意到我可以使用一个钩子来在ID之后注入代码,我想出了如何做到这一点.问题是,如果我手动输入订阅ID,我只能使它工作.

这是我的代码,其中1341是订阅ID.这成功地在表中的ID之后注入了1341的产品名称:

function custom_add_subscription_name_to_table() {

    $subscription = wcs_get_subscription(1341);

    foreach ( $subscription->get_items() as $item_id => $item ) {
        $_product  = apply_filters( 'woocommerce_subscriptions_order_item_product',$subscription->get_product_from_item( $item ),$item );

        if ( apply_filters( 'woocommerce_order_item_visible',true,$item ) ) {

            echo wp_kses_post( apply_filters( 'woocommerce_order_item_name',sprintf( '<a href="%s">%s</a>',get_permalink( $item['product_id'] ),$item['name'] ),$item ) );

        }
    }
}
add_action( 'woocommerce_my_subscriptions_after_subscription_id','custom_add_subscription_name_to_table',35 );

问题是,我无法弄清楚如何动态获取ID作为变量.如果我必须手动输入ID,我显然无法使用它.有没有办法做到这一点?

我觉得我很近,但到目前为止!

谢谢!

解决方法

你很亲密你不需要你正在做什么的id.订阅正由WordPress钩子系统传递给该函数.你只需要使用它.将您的代码更改为以下内容:

function custom_add_subscription_name_to_table( $subscription ) {

    foreach ( $subscription->get_items() as $item_id => $item ) {
        $_product  = apply_filters( 'woocommerce_subscriptions_order_item_product',35 );

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读