Изменить слаг типа POST в wordpress

По умолчанию wordpress поставляется с типом записи по умолчанию с слагом «post»!

Я хочу поменять эту пулю на другую без головной боли!

Я имею в виду, например, изменить слаг post на article.

Как я могу этого добиться?

Обновить

Это то, что я хочу:

function _slug(){
 $args = array(
    'rewrite' => array(
        'slug' => 'article',
    ),
  ); 
  register_post_type('post',$args);
}
add_action('init', '_slug');

Но, хорошо, это не работает!


person revo    schedule 01.03.2013    source источник
comment
Проверьте в разделе «Настройки» > «Постоянные ссылки».   -  person Jrod    schedule 02.03.2013
comment
@Джрод, это неправильно! я имел в виду изменить его с базы   -  person revo    schedule 02.03.2013
comment
Базовая структура постоянных ссылок обычно задается на панели настроек постоянных ссылок. Если это не так для вашей установки, знаете ли вы, был ли установлен WordPress в папке с именем post? Можно ссылку на ваш проект?   -  person Jrod    schedule 02.03.2013
comment
@Jrod на самом деле это не мой случай, иначе это очевидно!   -  person revo    schedule 02.03.2013
comment
@Jrod, я хочу переименовать слаг типа сообщения   -  person revo    schedule 02.03.2013
comment
Можете ли вы предоставить пример конечного URL, который вы хотите видеть? т.е. www.example.com/post/my-post/   -  person Jrod    schedule 02.03.2013
comment
@Jrod смотрите обновление.   -  person revo    schedule 02.03.2013
comment
@Jrod У меня есть страница archive.php, которую я хочу загрузить, перейдя на www.example.com/article. и я знаю, что у меня могут быть архивные страницы для пользовательских типов сообщений, например: archive-{post_type_slug}.php. моя цель - загрузить archive.php при переходе на example.com/article   -  person revo    schedule 02.03.2013
comment
Измените слаг на статью в коде, который вы использовали для регистрации типа сообщения, а затем повторно сохраните свои постоянные ссылки.   -  person Brad    schedule 29.01.2014


Ответы (1)


Один из способов — использовать аргументы типа сообщения filter в файле functions.php (сделать убедитесь, что он запускается после регистрации типа сообщения):

$post_type = <POST TYPE NAME> # Define your own as a string
$new_slug = <WANTED SLUG> # Define your own as a string

add_filter( 'register_post_type_args', function($args, $post_type){
  if ( 'post_type' == $post_type )
     $args['rewrite'] = array( 'slug' => $new_slug );

  return $args;

}, 10, 2 );

person Amit Rahav    schedule 09.03.2020