让动态 URL 在不向 WordPress 管理员添加页面的情况下工作
Getting dynamic URL's to work without adding pages to WordPress admin
我有这个URL:
示例。com/parent/
我在 WordPress 中创建了这个页面,它使用模板页面-parent.php
有没有一种方法可以在不向 WordPress 添加页面的情况下使用此模板动态创建页面,我知道我可以使用查询变量来做到这一点
例如example.com/parent/?q=17
但我想知道我是否可以拥有:
示例。com/parent/child1/
示例。com/parent/child2/
不将它们添加为 'Pages'
并使用父模板。
- 在您的主题文件夹中创建一个名为 'page-templates'
的子文件夹
- 将 'parent.php' 代码移动到该文件夹中
- 将此行添加到 parent.php 的顶部:
<?php /* Template Name: Example Template */ ?>
使用您想要使用的任何名称。
- 您应该能够 select 在 Wordpress 中的页面编辑器中使用该模板。
感谢@cabrerahector - 我正在寻找 add_rewrite_rule() 我只需要添加这些功能并刷新我的永久链接。
function custom_rewrite_tag() {
add_rewrite_tag('%child%', '([^&]+)');
}
add_action('init', 'custom_rewrite_tag', 10, 0);
function custom_rewrite_rule() {
add_rewrite_rule('^parent/([^/]*)/?','index.php?page_id=207&child=$matches[1]','top');
}
add_action('init', 'custom_rewrite_rule', 10, 0);
当前您的页面-parent.php 是特定于该页面的模板(由于页面 slug 与文件名匹配)。但是,您可以将现有的 page-parent.php 文件转换为可用于任意数量页面的模板。
- 将您的页面-parent.php 文件重命名为模板-parent.php
- 将此行添加到模板的顶部-parent.php:(将 "Parent Page" 替换为您希望用于模板名称的任何名称)。
- 在 WordPress 管理员中,为 "Parent" 页面和您希望使用它的所有其他子页面选择这个新模板。
我有这个URL:
示例。com/parent/
我在 WordPress 中创建了这个页面,它使用模板页面-parent.php
有没有一种方法可以在不向 WordPress 添加页面的情况下使用此模板动态创建页面,我知道我可以使用查询变量来做到这一点
例如example.com/parent/?q=17
但我想知道我是否可以拥有:
示例。com/parent/child1/
示例。com/parent/child2/
不将它们添加为 'Pages'
并使用父模板。
- 在您的主题文件夹中创建一个名为 'page-templates' 的子文件夹
- 将 'parent.php' 代码移动到该文件夹中
- 将此行添加到 parent.php 的顶部:
<?php /* Template Name: Example Template */ ?>
使用您想要使用的任何名称。 - 您应该能够 select 在 Wordpress 中的页面编辑器中使用该模板。
感谢@cabrerahector - 我正在寻找 add_rewrite_rule() 我只需要添加这些功能并刷新我的永久链接。
function custom_rewrite_tag() {
add_rewrite_tag('%child%', '([^&]+)');
}
add_action('init', 'custom_rewrite_tag', 10, 0);
function custom_rewrite_rule() {
add_rewrite_rule('^parent/([^/]*)/?','index.php?page_id=207&child=$matches[1]','top');
}
add_action('init', 'custom_rewrite_rule', 10, 0);
当前您的页面-parent.php 是特定于该页面的模板(由于页面 slug 与文件名匹配)。但是,您可以将现有的 page-parent.php 文件转换为可用于任意数量页面的模板。
- 将您的页面-parent.php 文件重命名为模板-parent.php
- 将此行添加到模板的顶部-parent.php:(将 "Parent Page" 替换为您希望用于模板名称的任何名称)。
- 在 WordPress 管理员中,为 "Parent" 页面和您希望使用它的所有其他子页面选择这个新模板。