WordPress重定向问题

时间:2014-08-22 05:10:37

标签: php wordpress redirect

我希望有人能解释一种在wp_redirect()函数中使用变量的方法吗?提前谢谢。

2 个答案:

答案 0 :(得分:0)

有两个变量:

wp_redirect( $location, $status );

$ location是用户将被重定向到的绝对URI。

$ status是要使用的状态代码(例如,301)。默认值为302(如果需要,可以将其留空)。

答案 1 :(得分:0)

您的代码没有存储网址的值,甚至没有进入 add_to_cart_redirect 功能。请尝试以下代码

//* Add/Display Fields
  add_action( 'woocommerce_product_options_general_product_data',    'rv_woo_add_custom_general_fields' );
 function rv_woo_add_custom_general_fields() {
global $post_id;
global $woocommerce, $post;
echo '<div class="options_group">';
woocommerce_wp_text_input( 
    array( 
        'id'          => '_rv_woo_product_custom_redirect_url', 
        'label'       => __( 'Redirect on Add to Cart', 'woocommerce' ), 
        'placeholder' => 'http://',
        'desc_tip'    => 'true',
        'description' => __( 'Enter a URL to redirect the user to after this product is added to the cart.', 'woocommerce' ) ,
        'value' => get_post_meta($post_id,'c',true)
    )
);
echo '</div>';
}

//* Save Fields
add_action( 'woocommerce_process_product_meta',  'rv_woo_add_custom_general_fields_save' );
function rv_woo_add_custom_general_fields_save( $post_id ){ 
$rv_woo_redirect_url = get_post_meta($post_id,'c',true);
if( !empty( $rv_woo_redirect_url ) ) {
    update_post_meta( $post_id, 'c', esc_url( $rv_woo_redirect_url ) );
}
}
 add_filter('add_to_cart_redirect', 'redirect_elsewhere');
 function redirect_elsewhere() {  
global $woocommerce, $post;
$product_id = apply_filters( 'woocommerce_add_to_cart_product_id', absint( $_REQUEST['add-to-cart'] ) );
$rv_woo_redirect_url = get_post_meta($product_id,'c',true);
if( !empty( $rv_woo_redirect_url ) ) {
      wp_redirect( $rv_woo_redirect_url );
    exit;
  }
}