我有像/company-page/?comp_id=84
这样的网址,其中公司ID来自数据库,而我重写了这个网址
/company-page/testcompany
答案 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,则该用户将被重定向到第一个公司。