Ошибка 404: страница не найдена после перезаписи URL из настраиваемого типа сообщения, если существует другой параметр - PullRequest
0 голосов
/ 28 мая 2020

Это ссылка по умолчанию из настраиваемого типа сообщения:

domain.com/course/mern-stack-front-to-back-full-stack-react-redux-node-js

Я пытаюсь создать настраиваемое правило перезаписи, если существующие параметры - это meta_id

domain.com/course/mern-stack-front-to-back-full-stack-react-redux-node-js?meta_id=1234

Должно стать следующим:

domain.com/course/mern-stack-front-to-back-full-stack-react-redux-node-js/lesson/1234

Это мой код в функциях. php

function custom_rewrite_tag() {
    add_rewrite_tag( '%meta_id%', '([^&]+)' );
}
add_action('init', 'custom_rewrite_tag', 10, 0);

function custom_rewrite_rule() {
    add_rewrite_rule( '^lesson/([0-9]+)/?', 'index.php?post_type=course&meta_id=$matches[1]', 'top' );
}
add_action('init', 'custom_rewrite_rule', 10, 0);

1 Ответ

1 голос
/ 28 мая 2020
function custom_rewrite_tag() {
    add_rewrite_tag( '%meta_id%', '([^&]+)' );
}
add_action('init', 'custom_rewrite_tag', 10, 0);

function custom_rewrite_rule() {
    add_rewrite_rule('^course/([^/]*)/lesson/([0-9]+)/?','index.php?post_type=course&name=$matches[1]&meta_id=$matches[2]', 'top');
}
add_action('init', 'custom_rewrite_rule', 10, 0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...