Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 向任意自定义页面或仪表板显示订阅操作_Php_Wordpress_Woocommerce Subscriptions - Fatal编程技术网

Php 向任意自定义页面或仪表板显示订阅操作

Php 向任意自定义页面或仪表板显示订阅操作,php,wordpress,woocommerce-subscriptions,Php,Wordpress,Woocommerce Subscriptions,我正在使用WooCommerce订阅,并尝试在dhasboard中为用户创建自定义流 当前用户登录>仪表板显示,我有自定义代码显示订阅状态是“活动”还是“保留”。如果它处于保留状态,则用户当前必须单击查看订阅,然后单击列出的订阅,然后单击“操作”部分中的“续订” 我想将此操作按钮从subscription-details.php文件中移动到dashboard.php文件中,以续订“暂停”订阅,从而减少这些步骤 以下是我发现的与“续订操作”按钮相关的代码片段: <?php do_action

我正在使用WooCommerce订阅,并尝试在dhasboard中为用户创建自定义流

当前用户登录>仪表板显示,我有自定义代码显示订阅状态是“活动”还是“保留”。如果它处于保留状态,则用户当前必须单击查看订阅,然后单击列出的订阅,然后单击“操作”部分中的“续订”

我想将此操作按钮从subscription-details.php文件中移动到dashboard.php文件中,以续订“暂停”订阅,从而减少这些步骤

以下是我发现的与“续订操作”按钮相关的代码片段:

<?php do_action( 'woocommerce_subscription_before_actions', $subscription ); ?>
    <?php $actions = wcs_get_all_user_actions_for_subscription( $subscription, get_current_user_id() ); ?>
    <?php if ( ! empty( $actions ) ) : ?>
        <tr>
            <td><?php esc_html_e( 'Actions', 'woocommerce-subscriptions' ); ?></td>
            <td>
                <?php foreach ( $actions as $key => $action ) : ?>
                    <a href="<?php echo esc_url( $action['url'] ); ?>" class="button <?php echo sanitize_html_class( $key ) ?>"><?php echo esc_html( $action['name'] ); ?></a>
                <?php endforeach; ?>
            </td>
        </tr>
    <?php endif; ?>
    <?php do_action( 'woocommerce_subscription_after_actions', $subscription ); ?>

我试图将其放入dashboard.php文件中,但是我收到一个错误,说该站点遇到了技术困难

关于如何将此续订操作按钮改为dashboard.php文件,有什么想法吗


提前感谢您的帮助

如果要在自定义页面或仪表板中显示任何操作,请使用下面的代码并根据需要设置操作

function addCancelButton($subscription) {
    $actions = wcs_get_all_user_actions_for_subscription( $subscription, get_current_user_id() );
    if(!empty($actions)){
        foreach ( $actions as $key => $action ){
            if(strtolower($action['name']) == "cancel"){
                $cancelLink = esc_url( $action['url'] );
                echo "<a href='$cancelLink' class='button cancel'>".$action['name']."</a>";
            }
        }
    }
}
add_action( 'woocommerce_my_subscriptions_actions', 'addCancelButton', 10 );
下面是相同的代码

add_action( 'woocommerce_account_dashboard','add_account_content_kiki' );


function add_account_content_kiki() {

  if( has_active_subscription() ){ // Current user has an active subscription 

        echo '<div class="woocommerce-message woocommerce-message--info woocommerce-Message woocommerce-Message--info woocommerce-info"><a class="woocommerce-Button button" href="www.google.com">Test Now</a>Test link - shop now</div>';

    // Example of displaying something
        echo 'You have active subscription';
}

}
钩的参考-


您可以从此处为woo commerce“我的帐户”页面使用的所有挂钩-

如果您希望在自定义页面或仪表板中显示任何操作,请使用以下代码并根据您的要求设置操作

function addCancelButton($subscription) {
    $actions = wcs_get_all_user_actions_for_subscription( $subscription, get_current_user_id() );
    if(!empty($actions)){
        foreach ( $actions as $key => $action ){
            if(strtolower($action['name']) == "cancel"){
                $cancelLink = esc_url( $action['url'] );
                echo "<a href='$cancelLink' class='button cancel'>".$action['name']."</a>";
            }
        }
    }
}
add_action( 'woocommerce_my_subscriptions_actions', 'addCancelButton', 10 );
下面是相同的代码

add_action( 'woocommerce_account_dashboard','add_account_content_kiki' );


function add_account_content_kiki() {

  if( has_active_subscription() ){ // Current user has an active subscription 

        echo '<div class="woocommerce-message woocommerce-message--info woocommerce-Message woocommerce-Message--info woocommerce-info"><a class="woocommerce-Button button" href="www.google.com">Test Now</a>Test link - shop now</div>';

    // Example of displaying something
        echo 'You have active subscription';
}

}
钩的参考-


您可以在这里使用的所有钩子,用于woo commerce我的帐户页-

感谢您抽出时间回复,我非常感谢,但我已经知道如何编辑我的帐户页。。。我想将subscription-details.php页面中的“续订”订阅按钮(我认为这是提供的代码片段)添加到my account dashboard.php页面。@Kiki check更新的答案,我添加了显示取消按钮的钩子,您可以对任何自定义页面执行相同的操作action@JitendraPopat,你提到“根据您的要求采取行动“。在这种情况下,如何获取$subscription变量?您是否已在自定义页面上列出所有订阅?@Gangesh是的,我已列出所有订阅以及用户计划,并提供订阅详细信息。感谢您花时间回复,但我已经知道如何编辑我的帐户页面。。。我想将subscription-details.php页面中的“续订”订阅按钮(我认为这是提供的代码片段)添加到my account dashboard.php页面。@Kiki check更新的答案,我添加了显示取消按钮的钩子,您可以对任何自定义页面执行相同的操作action@JitendraPopat,你提到“根据您的要求设置操作”。在这种情况下,我如何获得$subscription变量?您是否已在自定义页面上列出所有订阅?@Gangesh是的,我已列出所有订阅以及用户计划,并提供订阅详细信息