Wordpress永久链接问题-高级搜索


Wordpress permalink issue - advanced search

我的wordpress网站上有一些问题网站url为http://www.sharedmachine.in/。主页上有搜索选项。现在的置换链接结构是这样的-http://www.sharedmachine.in/?p=123

现在,单击搜索按钮后,它将重定向到"高级搜索"页面。但事实并非如此。

因此,我将永久链接结构更改为自定义-/%postname%/

但它仍然不起作用。

它应该重定向到的URL是

http://www.sharedmachine.in/advanced-search/?filter_search_type(一些过滤器)

但相反,它显示了

http://www.sharedmachine.in/?filter_search_type(过滤器)

URL中没有页面名称。

现在获取url的代码是-

$adv_submit=wpestate_get_adv_search_link();

和功能-

function wpestate_get_adv_search_link(){   
    $pages = get_pages(array(
        'meta_key' => '_wp_page_template',
        'meta_value' => 'advanced_search_results.php'
        ));
    if( $pages ){
        $adv_submit = esc_url ( get_permalink( $pages[0]->ID) );
    }else{
        $adv_submit='';
    }
    return $adv_submit;
}

如果我更改线路

$adv_submit=wpestate_get_adv_search_link();

$adv_submit='http://www.sharedmachine.in/index.php/advanced-search/';

它是有效的。

这里可能有什么问题?

通常不会填充$pages变量。我想试试

$page = get_page_by_path('advanced-search');
if ($page) {
    $adv_submit = esc_url ( get_permalink( $page->ID) );
} else {
    // do something else
}

在这种情况下,您将根据页面的段塞查找页面,而不是页面元,您可能已经或可能没有设置