Wordpress добавить переписать переопределить ядро - PullRequest
0 голосов
/ 10 мая 2019

Я хочу переопределить URL-адрес некоторых страниц.Например, когда у меня есть страница с точками останова, я получаю URL-адрес стиля

XXX.com / slug / number /

число, определенное именем точки останова. Я попробовал следующий код: страница безАргумент "page" работает вне правила, а аргумент page, безусловно, обрабатывается, но WordPress уже установил правило и обрабатывает его независимо от того, что произойдет.

Возможно ли с помощью удаленного фильтра мой код иметь приоритет над внутреннимперенаправление WordPress?

function add_rewrite_rules( $wp_rewrite ) 
{
    $new_rules = array
    (
        'testpage/(.+?)/page/?([0-9]{1,})/?$' => 'index.php?pagename='.
        $wp_rewrite->preg_index(1).'&page='.
        $wp_rewrite->preg_index(2).'&varname=testpage',

        'testpage/(.*?)/?$' => 'index.php?pagename='.
        $wp_rewrite->preg_index(1).'&varname=testpage'
    );
    // Always add your rules to the top, to make sure your rules have priority
    $wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}

function query_vars($public_query_vars)
{
    $public_query_vars[] = "varname";

    return $public_query_vars;
}

function ebi_flush_rewrite_rules()
{
    global $wp_rewrite;

    $wp_rewrite->flush_rules();
}

add_action( 'init', 'flush_rewrite_rules');
add_action('generate_rewrite_rules', 'add_rewrite_rules');
add_filter('query_vars', 'query_vars');




function prefix_url_rewrite_templates() {
    echo "oooo";
    exit;
    if(get_query_var('varname')){
        add_filter( 'template_include', function() {return get_template_directory() . '/page.php';});

    }

    }

    add_action( 'template_redirect', 'prefix_url_rewrite_templates' );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...