Как установить структуру постоянных ссылок с помощью functions.php
Я настраиваю сеть Wordpress и хотел, чтобы все новые сайты имели одинаковую структуру постоянных ссылок (т.Е. "/%год%/%число месяцев%/%имя сообщения%/"). Мне интересно, возможно ли это сделать с помощью крючков или взломов в functions.php, без необходимости полагаться на пользователей в выборе этой структуры.
10
Author: Tomas Buteler, 2011-10-15
3 answers
Вы можете задать структуру постоянных ссылок, вызвав метод set_permalink_structure()
глобального объекта $wp_rewrite
.
add_action( 'init', function() {
global $wp_rewrite;
$wp_rewrite->set_permalink_structure( '/%year%/%monthnum%/%postname%/' );
} );
Вот версия кода PHP
function reset_permalinks() {
global $wp_rewrite;
$wp_rewrite->set_permalink_structure( '/%year%/%monthnum%/%postname%/' );
}
add_action( 'init', 'reset_permalinks' );
15
Author: soulseekah, 2011-10-17 02:02:57
Предыдущий ответ не работает. Я получил чистое решение. Может использовать Используйте этот код. Это сработает на 100%. Спасибо
/**
* Rewrite set up, when theme activate i mean
*/
if (isset($_GET['activated']) && is_admin()) {
global $wp_rewrite;
$wp_rewrite->set_permalink_structure('/%postname%/');
$wp_rewrite->flush_rules();
}
/**
* Redirect to Permalink setting Page.
* Otherwise Redirect rule will not work Properly.
*/
function redirect_to_permalink() {
wp_redirect('options-permalink.php');
}
add_action( 'after_switch_theme', 'redirect_to_permalink' );
2
Author: Saiful Islam, 2017-08-31 06:01:49
function setPermaLink(){
$ps = '/%category%/%postname%/';
$permalink_structure = sanitize_option( 'permalink_structure', $ps);
$blog_prefix = '/blog';
$prefix = '/index.php';
if ( ! empty( $permalink_structure ) ) {
$permalink_structure = preg_replace( '#/+#', '/', '/' . str_replace( '#', '', $permalink_structure ) );
if ( $prefix && $blog_prefix ) {
$permalink_structure = $prefix . preg_replace( '#^/?index\.php#', '', $permalink_structure );
} else {
$permalink_structure = $blog_prefix . $permalink_structure;
}
}
$wp_rewrite->set_permalink_structure( $permalink_structure );
flush_rewrite_rules();
}
setPermaLink();
0
Author: Ricardo Boavida, 2019-09-12 13:47:01