Перенаправить страницы продукта на другой сайт - PullRequest
0 голосов
/ 15 мая 2018

Это немного странная ситуация, когда необходимо перекодировать WooComm, чтобы отправлять посетителей на отдельный веб-сайт в качестве магазина (я не спрашивал, почему, мне просто платят, чтобы «это произошло»).Благодаря StackOverflow я выяснил, как сделать, я думаю, «базовое» перенаправление, но мне нужно иметь возможность перенаправить что-то около 20 страниц продукта на соответствующие зеркальные продукты на другом сайте.

Ниже приведен простой код, который я нашел здесь, но мне нужно немного его изменить.«If (is_product))» я хотел бы уточнить, чтобы быть конкретным для каждого продукта и отправить их зеркальным продуктам.Я уверен, что есть лучший метод, но я все еще очень плохо знаком с этим уровнем кодирования.И из соображений безопасности я использую Google в качестве места назначения перенаправления для размещения кода здесь.

add_action('template_redirect','custom_shop_page_redirect');
function custom_shop_page_redirect(){
if (class_exists('WooCommerce')){
    if(is_product()){
        wp_redirect( 'https://google.com' );
        exit();
    }
} 
return;
} 

1 Ответ

0 голосов
/ 15 мая 2018

Я думаю, что вы могли бы использовать wp_query global для принятия более точных решений.

global $wp_query, $post;
if (class_exists('WooCommerce')){
    if(is_product()){
        switch ( $wp_query->query_vars['post_type'] ) {
            case "product1" :
                wp_redirect( 'https://google.com/product1' );
                break;
            case "product2" :
                wp_redirect( 'https://google.com/product2' );
                break;
            default :
                wp_redirect( 'https://google.com/' );
                break;
        }
        exit();
    }
} 

Я не знаю, является ли post_type точным параметром query_var, который вы будете искать, поскольку, возможно, он просто "продукт "для всех них.Но если вы var_dump query_vars, я уверен, что вы найдете уникальный идентификатор.

...