重写 URL 中的单词 - wordpress
rewrite word in URL - wordpress
我正在使用 wordpress 并购买了主题。
主题生成 url http://martin.heskovci.sk/avalon_td_gallery/zvierata/ and i want change it to http://martin.heskovci.sk/portfolio/zvierata/
我在 .htacces 和 functions.php 中尝试了一些但没有结果。我在代码中发现了一些东西
<a href="'.$avalon_td_post_permalink.'" class="avalon_td_btn"><span>'.esc_html__('View Full Gallery', 'avalon').'</span> <i class="xcon-right-open-big"></i></a>
我认为我必须重写“.$avalon_td_post_permalink”。但是我不知道怎么做。有人帮帮我吗?
更新 1
我找到了这个。我必须在哪里重写 "avalon_td_gallery"?我尝试更改重写行和最后一行,但在创建新画廊后我仍然得到 404。
// Arguments for gallery projects
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'exclude_from_search' => false,
'show_ui' => true,
'show_in_menu' => true,
'menu_position' => 4,
'menu_icon' => 'dashicons-format-gallery', //XXS_PLUGIN_URI . 'assets/img/portfolio-icon.png',
'can_export' => true,
'delete_with_user' => false,
'hierarchical' => false,
'has_archive' => true,
'capability_type' => 'post',
'rewrite' => array( 'slug' => 'avalon_td_gallery', 'with_front' => false ),
'supports' => array( 'title', 'editor', 'thumbnail' )
);
// Register our gallery post type
register_post_type( 'avalon_td_gallery', $args );
更新 2:
'rewrite' => array( 'slug' => 'avalon_td_gallery', 'with_front' => false ),
至此
'rewrite' => array( 'slug' => 'portfolio', 'with_front' => false ),
重要的是,设置 -> 永久链接页面并点击保存。这将刷新重写规则,现在可以正常工作了!
我无法发表评论 - 所以我会在这里回复。
我会先在项目文件夹中搜索包含 avalon_td_gallery.
的文件
根据主题生成 url 的方式 - 这将决定您将如何更改 url。如果它是使用自定义 Post 类型制作的,那么您只需更改重写规则即可。 avalon_td_gallery 将在 register_post_type 函数中。并且要么更改值,要么向该函数添加重写规则:
'rewrite' => array('slug' => 'portfolio'),
显然,您应该确保使用此重写规则没有冲突。
另一种创建自定义重写规则 'wordpress way' 的方法是 add_rewrite_rule 函数。如果您在其中找到 avalon_td_gallery,只需更改重写规则的第一个参数,然后在 Wordress 中更新您的永久链接。例如:
add_rewrite_rule( 'avalon_td_gallery/([^/]+)', 'index.php?gallery_item=$matches[1]', 'top' );
希望对您有所帮助。
更新
因此您不应更改所有文件中 avalon_td_gallery 的所有实例。您仍然希望处理程序或查询变量保持为 avalon_td_gallery,您只希望更改 url。这是 register_post_type 函数的一个非常简单的示例。
function codex_custom_init() {
$args = array(
'public' => true,
'label' => 'Gallery',
'rewrite' => array( 'slug' => 'portfolio' )
);
register_post_type( 'avalon_td_gallery', $args );
}
add_action( 'init', 'codex_custom_init' );
因此,只有鼻涕虫会发生变化。如果您将 register_post_type 处理程序更改为其他内容,它将认为它是一个新的 post 类型。所以不要这样做:
register_post_type( 'portfolio', $args ); // -< THIS IS WRONG
如果您可以恢复 post 类型的注册,回到 avalon_td_gallery 图库,这将使您的数据保留在该命名空间下,但仅更改 url。
我正在使用 wordpress 并购买了主题。 主题生成 url http://martin.heskovci.sk/avalon_td_gallery/zvierata/ and i want change it to http://martin.heskovci.sk/portfolio/zvierata/
我在 .htacces 和 functions.php 中尝试了一些但没有结果。我在代码中发现了一些东西
<a href="'.$avalon_td_post_permalink.'" class="avalon_td_btn"><span>'.esc_html__('View Full Gallery', 'avalon').'</span> <i class="xcon-right-open-big"></i></a>
我认为我必须重写“.$avalon_td_post_permalink”。但是我不知道怎么做。有人帮帮我吗?
更新 1
我找到了这个。我必须在哪里重写 "avalon_td_gallery"?我尝试更改重写行和最后一行,但在创建新画廊后我仍然得到 404。
// Arguments for gallery projects
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'exclude_from_search' => false,
'show_ui' => true,
'show_in_menu' => true,
'menu_position' => 4,
'menu_icon' => 'dashicons-format-gallery', //XXS_PLUGIN_URI . 'assets/img/portfolio-icon.png',
'can_export' => true,
'delete_with_user' => false,
'hierarchical' => false,
'has_archive' => true,
'capability_type' => 'post',
'rewrite' => array( 'slug' => 'avalon_td_gallery', 'with_front' => false ),
'supports' => array( 'title', 'editor', 'thumbnail' )
);
// Register our gallery post type
register_post_type( 'avalon_td_gallery', $args );
更新 2:
'rewrite' => array( 'slug' => 'avalon_td_gallery', 'with_front' => false ),
至此
'rewrite' => array( 'slug' => 'portfolio', 'with_front' => false ),
重要的是,设置 -> 永久链接页面并点击保存。这将刷新重写规则,现在可以正常工作了!
我无法发表评论 - 所以我会在这里回复。
我会先在项目文件夹中搜索包含 avalon_td_gallery.
的文件根据主题生成 url 的方式 - 这将决定您将如何更改 url。如果它是使用自定义 Post 类型制作的,那么您只需更改重写规则即可。 avalon_td_gallery 将在 register_post_type 函数中。并且要么更改值,要么向该函数添加重写规则:
'rewrite' => array('slug' => 'portfolio'),
显然,您应该确保使用此重写规则没有冲突。
另一种创建自定义重写规则 'wordpress way' 的方法是 add_rewrite_rule 函数。如果您在其中找到 avalon_td_gallery,只需更改重写规则的第一个参数,然后在 Wordress 中更新您的永久链接。例如:
add_rewrite_rule( 'avalon_td_gallery/([^/]+)', 'index.php?gallery_item=$matches[1]', 'top' );
希望对您有所帮助。
更新
因此您不应更改所有文件中 avalon_td_gallery 的所有实例。您仍然希望处理程序或查询变量保持为 avalon_td_gallery,您只希望更改 url。这是 register_post_type 函数的一个非常简单的示例。
function codex_custom_init() {
$args = array(
'public' => true,
'label' => 'Gallery',
'rewrite' => array( 'slug' => 'portfolio' )
);
register_post_type( 'avalon_td_gallery', $args );
}
add_action( 'init', 'codex_custom_init' );
因此,只有鼻涕虫会发生变化。如果您将 register_post_type 处理程序更改为其他内容,它将认为它是一个新的 post 类型。所以不要这样做:
register_post_type( 'portfolio', $args ); // -< THIS IS WRONG
如果您可以恢复 post 类型的注册,回到 avalon_td_gallery 图库,这将使您的数据保留在该命名空间下,但仅更改 url。