2014-11-24 104 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,则用户将被重定向到第一个公司。