Как удалить бренд или какой-либо текст с URL страницы Woo Commerce Archive? - PullRequest
0 голосов
/ 31 октября 2018

У меня есть страница woocommerce, URL которой похож на

https://www.example.com/brand/cocacola

Я хочу удалить марку из URL, и ошибка 404 не появится

Эта ссылка https://www.example.com/brand/cocacola

Нужно конвертировать в https://www.example.com/cocacola

Но на странице архива содержание страницы будет таким же

Спасибо в ожидании.

Ответы [ 3 ]

0 голосов
/ 31 октября 2018

</p>

<code>$str = "http://www.example.com/brand/cocacola";
$list = explode("/", $str);
echo $list[3];

echo ' or ';

$arr = explode('/'.$list[3], $str);
echo $arr[0] . $arr[1];
</code>

должен распечатать: марка или http://www.example.com/cocacola

0 голосов
/ 31 октября 2018
I have got a solution to this problem.

**STEP (1)**

Add the below code in functions.php file

<!-- product_brand is your taxonomy name. Can be viewable from admin -->

 add_filter( 'register_taxonomy_args', function( $args, $taxonomy ){


  if( 'product_brand' === $taxonomy && is_array( $args ) ){
    $args['rewrite']['slug']       = '/';
    $args['rewrite']['with_front'] = false;
  }
  return $args;
}, 99, 2 );

**STEP (2)**

Save and refresh your permalink 


** Code tested and its working fine.
0 голосов
/ 31 октября 2018

Один из способов сделать это называется маскированием с помощью .htaccess и symlink

Вот публикация стека переполнения, которая имеет отношение к делу.

Использование htaccess для маскирования имени папки

Другой вариант - просто использовать фильтр Wordpress

add_filter( 'register_taxonomy_args', function( $args, $taxonomy ){
  if( 'brand' === $taxonomy && is_array( $args ) ){
    $args['rewrite']['slug']       = '.';
    $args['rewrite']['with_front'] = false;
  }
  return $args;
}, 99, 2 );

Затем обновите постоянные ссылки (код не проверен, зайдите на действующий сайт).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...