NeiroNext
@NeiroNext

Как в Wordpress изменить имя поста (slug)?

Здравствуйте!
Мне нужно изменить имя поста (slug), который присутствует в адресе к посту, при создании поста он указывается из заголовка, мне же нужно через хук задавать свое значение, но проблема в том что никак не найду способ изменения имени поста. В интернете ничего найти не могу, пробовал смотреть как это работает в админ панели, но те функции которые там нашел мне тоже не помогли, скорее всего не то использовал.
Подскажите пожалуйста как это сделать. Тоесть что бы было еще понятнее мне нужно что бы адрес поста test.com/category/my_post изменить допустим на test.com/category/new_post. Как это можно сделать?
Спасибо заранее! Надеюсь на Вашу помощь ибо сам уже сдался :(
  • Вопрос задан
  • 716 просмотров
Решения вопроса 1
llgruff
@llgruff
Scala
Попробуйте так:
// initial hook
add_action( 'save_post', 'prefix_save_post_callback' );

function prefix_save_post_callback( $post_id ) {
	// verify post is not a revision
	if ( ! wp_is_post_revision( $post_id ) ) {
		// unhook this function to prevent infinite looping
		remove_action( 'save_post', 'prefix_save_post_callback' );
		// update the post slug
		wp_update_post( array(
			'ID' => $post_id,
			'post_name' => 'some-new-slug' // do your thing here
		));
		// re-hook this function
		add_action( 'save_post', 'prefix_save_post_callback' );
	}
}

Вот ещё пример
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы