Управляйте пользовательским шаблоном типа записи с помощью плагина


Я могу управлять пользовательским шаблоном, который будет использоваться на страницах пользовательского типа сообщений, но файл шаблона все равно должен иметь разметку темы. Мне было интересно, смогу ли я сделать его независимым от темы?

Пример: У меня есть плагин, который регистрирует мой пользовательский тип записи. У меня есть мета-информация о публикации, которую я хочу показать в пользовательском шаблоне. У меня есть этот шаблон, работающий на моих пользовательских страницах типа сообщений, но максимум, что я мог бы сделать, это использовать вызовы get_header() и get_footer(), но я не могу решить проблему необходимости разметки темы между верхним и нижним колонтитулами.

Имело ли это какой-нибудь смысл? Есть какие-нибудь идеи?

Author: Ashfame, 2011-11-21

1 answers

Я заставил его работать с помощью следующего кода:

add_action( 'template_redirect', 'ft_job_cpt_template' );

function ft_job_cpt_template() {
    global $wp, $wp_query;

    if ( isset( $wp->query_vars['post_type'] ) && $wp->query_vars['post_type'] == 'job' ) {
        if ( have_posts() ) {
            add_filter( 'the_content', 'ft_job_cpt_template_filter' );
        }
        else {
            $wp_query->is_404 = true;
        }
    }
}

function ft_job_cpt_template_filter( $content ) {

    global $wp_query;
    $jobID = $wp_query->post->ID;

    $output = ''; // Build markup fetching info from postmeta

    return $output;
}

Не стесняйтесь комментировать любые предложения.

 3
Author: Ashfame, 2011-11-22 16:38:26