发布URL中带有点的固定链接无法解析为正确的页面模板

时间:2018-04-10 作者:hot_barbara

我有自定义帖子类型的帖子. 中的字符post_name 字段(因此是永久链接),它无法解析为正确的页面模板。在这种情况下single-cptslug.php 永久链接解析为index.php. 这个post_name 字段从自定义字段获取其数据,并通过自定义查询进行更新:

$wpdb->query("UPDATE " . $wpdb->prefix . "posts SET post_name = \'" . $slug . "\' WHERE ID = " . $post_id);

哪里$slug 有点像90.79.2.6

我认为这里的解决方案可能包括修改.htaccess 文件,但我不确定,也几乎没有.htaccess 经验感谢您的帮助!

1 个回复
SO网友:hot_barbara

我最终使用了index_template 当CPT单页被错误地重定向到索引时,筛选以加载正确的模板,并且$_SERVER[\'REQUEST_URI\'] 包含CPT的段塞。像这样:

add_filter(\'index_template\', \'wpse300393_resolve_cpts_with_dots_in_name\');

function wpse300393_resolve_cpts_with_dots_in_name($templates = \'\'){
    if( strpos($_SERVER[\'REQUEST_URI\'], \'artwork\') !== false ){
        $templates = locate_template( \'single-artwork.php\' );
    }
    elseif( strpos($_SERVER[\'REQUEST_URI\'], \'artist\') !== false ){
        $templates = locate_template( \'single-artist.php\' );
    }
    return $templates;
}

结束

相关推荐

Permalinks - .htaccess

根据WordPress官方文档,当你保存永久链接时,它会更新你的。htaccess文件(https://codex.wordpress.org/Settings_Permalinks_Screen).然而,当我进行永久链接更改并保存它们时,我看不到任何更改。htaccess更新。有人能澄清一下WordPress文档是否不准确,或者我是否遗漏了什么。