WP Woo-保存Woo设置后删除自定义端点

时间:2019-07-19 16:31:11

标签: wordpress woocommerce endpoint

我已将端点添加到WP插件(以管理woocommerce的“我的帐户”部分中的其他信息->我的积分)-我的帐户/ moje-punkty

我都是基于一堆教程来做到这一点的,端点从激活插件开始,然后是重写刷新。

我的同事向我报告说,尽管我在测试数据库时添加了大量用户,但从未遇到过此问题,但是当将用户添加到数据库时,这突然停止工作(返回404错误)。

但是今天我注意到,保存Woo设置后,我的自定义端点也被删除了。

有人知道我如何确保自定义端点始终保持活动状态吗?

代码参考:

function __construct()
{
    register_activation_hook( __FILE__, array( $this, 'foc_points_moje_punkty_endpoints' ) );
    register_deactivation_hook( __FILE__, array( $this, 'foc_points_flush_rewrite_rules' ) );
}

add_filter( 'query_vars', array ( $this, 'my_custom_query_vars'), 0 );
function my_custom_query_vars( $vars ) {
    $vars[] = 'moje-punkty';

    return $vars;
}

add_filter ( 'woocommerce_account_menu_items', array ( $this, 'foc_front_account_menu_points_info') );
function foc_front_account_menu_points_info( $items ) {
    echo '<div class="points_dropdown_area">' . esc_html__( 'Your points', 'foc-lang' ) . ': <em>' . $punkty_meta_value . '</em></div>';
    $items['moje-punkty'] = esc_html__( 'Points history', 'foc-lang' );

    return $items;
}


add_action( 'woocommerce_account_moje-punkty_endpoint', array ( $this, 'foc_front_punkty_endpoint_content' ) );
function foc_front_punkty_endpoint_content() {
    // my code
}

/**
 * Flush rewrite rules on plugin activation.
 */
function foc_points_moje_punkty_endpoints() {
    add_rewrite_endpoint( 'moje-punkty', EP_ROOT | EP_PAGES );
    $this->foc_points_flush_rewrite_rules();
}

/**
 * Flush rewrite rules on plugin de-activation.
 */
function foc_points_flush_rewrite_rules() {
    flush_rewrite_rules();
}

谢谢!

0 个答案:

没有答案