gpt4 book ai didi

wordpress - 在 WordPress 页面 URL 中添加动态前缀

转载 作者:行者123 更新时间:2023-12-03 06:45:07 25 4
gpt4 key购买 nike

我需要在页面网址中添加动态前缀。

您可以通过Rewrite_API帮助我如何实现这一目标

问题

在我的 WordPress 网站中,我想在 URL 中的页面名称之前使用前缀来访问几个页面。例如,通常可以使用

访问页面
http://example.com/page-name

我想在页面名称前添加动态前缀(位置)。所以我想访问如下页面

http://example.com/country/state/page-name

到目前为止我尝试过的:

我尝试使用下面的过滤器在 url 中的页面名称之前添加重写标记。

add_action( 'init', array( $this, 'custom_rewrite_rules' ), 1, 0 ); 
/*
* Rewrite page urls
* adding prefix to page urls
* @doc: http://stackoverflow.com/questions/17613789/wordpress-rewrite-add-base-prefix-to-pages-only
*/
function custom_rewrite_rules()
{
global $wp_rewrite;
// add rewrite tag for location
$wp_rewrite->add_rewrite_tag( "%region%", '([^/]+)', 'region=' );

$wp_rewrite->page_structure = $wp_rewrite->root . '%region%/%pagename%';


}// end func

上面的操作钩子(Hook)允许我在前端和后端拥有动态页面 URL。例如,我可以看到页面网址现在是

http://example.com/%region%/page-name

我需要什么

由于我现在生成了动态网址,我想用我想要的位置字符串替换网址的 %region% 部分,它可能只是国家名称或国家/州名称组合。

提前致谢。

最佳答案

使用 WordPress 过滤器更改页面链接

add_filter( '_get_page_link', 'custom_region_page_link', 10, 2 );

function custom_region_page_link( $link, $post_id ){
//$slug = get_post_meta( $post_id, 'key', true );
$link = str_replace('%region%', 'india', $link);
return $link;
}

关于wordpress - 在 WordPress 页面 URL 中添加动态前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36465780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com