В бэкэнде Wordpress я использую значение http://localhost/sitename/example-post/
по умолчанию для создания постоянных ссылок.
Для пользовательских типов записей я определил пользовательский слаг таким образом, вот services
например:
register_post_type( 'service',
array(
'labels' => array(
'name' => __( 'Services' ),
'singular_name' => __( 'Service' )
),
'public' => true,
'has_archive' => true,
'rewrite' => array(
'slug' => 'services',
'with_front' => true
),
'supports' => array(
'title',
'editor',
'excerpt',
'thumbnail'
),
'taxonomies' => array( 'category' ),
)
);
Создает services / post-name .
Я также использую этот хук, чтобы создать пользовательскую страницу для создания пользовательской постоянной ссылки:
function custom_base_rules() {
global $wp_rewrite;
$wp_rewrite->page_structure = $wp_rewrite->root . '/page/%pagename%/';
}
add_action( 'init', 'custom_base_rules' );
Создает page / post-name
Теперь единственное, что мне нужно сделать, - это создать еще один собственный постоянный путь для обычной Wordpress posts .
Таким образом, конечный мир будет для типа записей post
:
post / post-name
Я не могу использовать резервные копии для этого, потому что я уже определил способ обработки постоянных ссылок по умолчанию.Мне уже удалось переписать пути пользовательских типов записей и страниц ...
Как программно переписать обычный постоянный путь post
типа записей в Wordpress?