可变wordpress站点的自定义永久链接

时间:2014-11-24 06:01:47

标签: wordpress permalinks

我有像/company-page/?comp_id=84这样的网址,其中公司ID来自数据库,而我重写了这个网址

/company-page/testcompany 

2 个答案:

答案 0 :(得分:1)

默认永久链接类型为“丑陋”,如下所示:http://example.com/?p=123

好消息是,在WordPress中,您可以使用“Pretty Permalinks”更改页面URL对访问者的显示方式,只需转到管理面板,然后找到Settings - > Permalinks并选择Post name(或Custom Structure并仔细阅读如何命名。

请注意:

永远不会将您的网站网址放入永久链接广告位。您必须仅使用其中一个结构标记或标记组合。

可以找到更多详细信息here

答案 1 :(得分:1)

您将要为“company-page”创建模板文件。将名为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,则该用户将被重定向到第一个公司。