Не получает содержимое шаблона, созданного в плагине

#wordpress #templates #plugins

#wordpress #шаблоны #Плагины

Вопрос:

Я создал шаблон в своем плагине с помощью этого кода

 function ldc_add_thanku_page_template ($templates) {
    $templates['thanku.php'] = 'Thanku Template';
    return $templates;
}
function ldc_redirect_thanku_page_template ($template) {
    if ('thanku.php' == basename ($template))
        $template = PLUGIN_PATH .'templates/public/thanku.php';
    return $template;
}
 

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

 <?php  
/* Template Name: Thanku Template */
 echo "<h1>Hello</h1>"; 
?>
 

Ответ №1:

Ваш код не будет работать на последней версии WordPress, этот код будет работать ниже 4.7

Попробуйте это

 function ldc_add_thanku_page_template ($templates) {
    $templates['thanku.php'] = 'Thanku Template';
    return $templates;
}
function ldc_redirect_thanku_page_template ($template) {
    $post = get_post();
    $page_template = get_post_meta( $post->ID, '_wp_page_template', true );
    if ('thanku.php' == basename ($page_template))
       $template = WP_PLUGIN_DIR .'/mypluginname/thanku.php';
    return $template;
}