Wordpress включает пользовательскую страницу - PullRequest
0 голосов
/ 09 января 2011

Я уверен, что это простой вопрос. Но как мне заставить Wordpress при запуске игнорировать попытки загрузить страницу или сообщение и вместо этого загрузить мою пользовательскую страницу? Когда в процессе начальной загрузки Wordpress решается, какая php-страница будет загружаться?

У меня будет следующий URL:

bt.local / wp / ads / 1

И хотел бы, чтобы php-страница с именем ads.php была загружена и загрузила объявление с adid = 1.

Какой лучший способ решить эту проблему? (нет поста, называемого рекламой, и нет страницы, называемой рекламой).

Спасибо!

KR

Josef

Ответы [ 2 ]

0 голосов
/ 11 января 2011

вы можете использовать для этого действие template_redirect - пример:

add_action('template_redirect', 'my_template_loader');


function my_template_loader() {
    if( get_query_var('adid') ) {
       locate_template(array("your-custom-page.php"), true);
    }
}

edit:

. Кроме того, вам нужно новое правило перезаписи, чтобы добавить свой собственный URL - базовая информацияздесь http://codex.wordpress.org/Function_Reference/WP_Rewrite

ваше правило может выглядеть примерно так:

$newrules['ads/(\d*)$'] = 'index.php?pagename=ads&adid=$matches[1]';

для этого требуется страница-заполнитель, называемая рекламой, и в дополнение к этому вы должны зарегистрировать своюновый запрос var adid вот так:

add_filter('query_vars', 'add_adid_var');
function parameter_queryvars($qvars) {
    $qvars[] = ' adid';
    return $qvars;
}
0 голосов
/ 10 января 2011

<?php include('custompage.php'); ?> ???

...