Wordpress获取分配给定模板的页面的URL

时间:2014-03-07 05:07:09

标签: wordpress

是否有人知道如何获取指定给定模板的页面的URL。

前:

模板名称:tpl_gallery.php(问题) 网址:gallery.html(答案应该是)

更多解释:

function getTplPageURL($TEMPLATE_NAME){
    $url;

    //Code which i need

    return $url;
}

2 个答案:

答案 0 :(得分:1)

你听到的是get_page_link(),这里有更详细的描述:

http://codex.wordpress.org/Function_Reference/get_page_link

如果您在模板的循环中使用它,它将为您提供您所在页面的网址。

<?php get_page_link(); ?>

编辑:好的,我误解了请求。这是另一种基于WP StackExchange答案的方法:https://wordpress.stackexchange.com/a/39657

function getTplPageURL($TEMPLATE_NAME){
    $url;

    //Code which i need

     $pages = query_posts(array(
         'post_type' =>'page',
         'meta_key'  =>'_wp_page_template',
         'meta_value'=> $TEMPLATE_NAME
     ));

     // cycle through $pages here and either grab the URL
     // from the results or do get_page_link($id) with 
     // the id of the page you want 

     $url = null;
     if(isset($pages[0])) {
         $url = get_page_link($pages[0]['id']);
     }
     return $url;
 }

答案 1 :(得分:0)

我稍微更改了这个功能,因为它对我不起作用:

function getTplPageURL($TEMPLATE_NAME){
    $url = null;
    $pages = get_pages(array(
        'meta_key' => '_wp_page_template',
        'meta_value' => $TEMPLATE_NAME
    ));
    if(isset($pages[0])) {
        $url = get_page_link($pages[0]->ID);
    }
    return $url;
}

现在可以在wordpress 4.9.4

上使用