То, что я пытаюсь сделать, это установить другую постоянную ссылку WordPress для зарегистрированных пользователей.
Для зарегистрированных пользователей используйте: /loggedin/%post_id%/%postname%/
и для других использовать /post/%post_id%/%postname%/
Вот код PHP, который я пытаюсь, но не работаю
add_action( 'init', 'smartest_set_permalinks' );
function smartest_set_permalinks() {
global $wp_rewrite;
if(is_user_logged_in) {
$wp_rewrite->set_permalink_structure( '/loggedin/%post_id%/%postname%/' );
} else {
$wp_rewrite->set_permalink_structure( '/post/%post_id%/%postname%/' );
}};
Что мне здесь не хватает, может кто-нибудь указать или исправить это?
Вы пропустили ‘()’ после is_user_logged_in. is_user_logged_in () является функцией WordPress по умолчанию. И точка с запятой в конце функции скобка не нужна.
add_action( 'init', 'smartest_set_permalinks' );
function smartest_set_permalinks() {
global $wp_rewrite;
if(is_user_logged_in()) {
$wp_rewrite->set_permalink_structure( '/loggedin/%post_id%/%postname%/' );
} else {
$wp_rewrite->set_permalink_structure( '/post/%post_id%/%postname%/' );
}
}
Других решений пока нет …