2014-11-24 121 views
0

我有網址類似/company-page/?comp_id=84其中公司ID從數據庫中獲取和我的定製永久鏈接

/company-page/testcompany 
+2

這很難理解你要求的東西。你有一個現有的網頁,你想重寫URL?或者需要動態結果頁面才能獲得靜態URL?更多地解釋你想要完成的事情,我們可能會更有幫助。 – 2014-11-24 06:18:36

+0

嘿男人「公司頁」是您的自定義帖子類型或頁面或使用任何插件?請詳細說明。 – 2014-11-24 06:20:18

+0

@renishkhunt沒有公司是不是一個自定義職位類型,ii是記錄在分貝作爲記錄, – wordpresrox 2014-11-24 06:27:03

回答

1

默認固定鏈接類型是「醜」什麼重寫這個URL,它看起來像:http://example.com/?p=123

好消息是,在WordPress中,您可以通過使用「漂亮的固定鏈接」來改變頁面網址的外觀,只需轉到管理面板,然後找到SettingsPermalinks並選擇Post name(或Custom Structure並仔細閱讀可以nam e他們)。

請注意:

永遠,永遠把你的網站URL的永久鏈接插槽。您必須使用其中一個結構標籤,或僅使用標籤的組合。

更多細節見here

1

您將要爲「公司頁面」創建模板文件。將一個名爲page-company-page.php的文件上傳到您的主題文件夾就足夠了。將主題標準page.php文件中的內容複製到該文件中。

然後,刪除實際顯示任何帖子內容的部分。用下面的代替它:

<?php 

if(isset($_GET['comp_id'])) { //Make sure there IS a value 
           $company_id = $_GET['comp_id']; 

           $args = array (
              'posts_per_page' => 1, 
              'meta_query' => array(
               array(
                'key'  => 'comp_id', 
                'value' => $company_id, 
                'compare' => '=' 
                ) 
               ) 
               ) 

          $the_query = new WP_Query($args); 

          $posts = $the_query->get_posts(); 

foreach($posts as $post) { ?> 

           <script type="text/javascript"><!-- 
           window.location = "<?php the_permalink(); ?>" 
           //--></script> 


         <?php } 
wp_reset_postdata(); 
} ?> 

此代碼所做的是檢查公司ID,然後查詢具有該ID的帖子。然後有一個javaScript重定向到實際的帖子頁面,正常的漂亮的永久鏈接接管。研究,更多,如果你不明白這些工作。

一對夫婦筆記: - 此解決方案假定您沒有使用/ company-page /作爲所有公司的歸檔列表。但是,通過一些修改,您可以恢復該功能。 - 如果有多個公司具有相同的comp_id,則用戶將被重定向到第一個公司。