-1

据我所知,如果数据库中已经存在同名的帖子,WordPress 会自动在永久链接(帖子名称)的末尾添加后缀。

但不要在 Meta 标题的末尾添加后缀,因为它取决于主题。

无论如何,我正在使用论文主题,存档元标题没有重复的元标题,

主页

mydomainname.com = 在第 1 页中,标题是<title>My Homepage Title</title>

mydomainname.com/page/ 2 = 在第 2 页中,标题为<title>My Homepage Title — Page 2</title>

类别

mydomainname.com/category/category-title = 在第 1 页,标题是<title>My Category Title</title>

mydomainname.com/category/category-title/page/ 2 = 在第 2 页中,标题为<title>My Category Title — Page 2</title>

TAGS 相同的,总是动态唯一的。

越来越多的第 3、4、5++ 页标题仍然是自动的(不重复)。

我在我的博客上使用论文主题(公共用户可以在前端更新帖子),用户只能在前端创建帖子,作者无法访问我的 wp-admin CMS 和论文“详细信息和附加样式”字段。那么,帖子条目标题怎么样?当用户创建具有相同标题的新帖子时如何获得此功能?

例如,我试图做如下:

webresepi.com/sambal-udang = 第一篇文章元标题是<title>Sambal Udang</title>

webresepi.com/sambal-udang- 2 = 这个帖子标题已经存在于我的数据库中,所以我想要这个帖子元标题像这样<title>Sambal Udang — 2</title>

当数据库中已经存在帖子标题时,从该永久链接获取编号。

4

1 回答 1

-1

这使用了与 faa 相同的想法,但他的解决方案中有很多东西会阻止它工作。使用 FTP 在文件夹 /wp-content/themes/ 中找到您的主题,然后将这段代码放入 functions.php 中:

add_action( 'template_redirect', function() {
if( is_single() ) { // Is a single post
    $slug = basename( $_SERVER['REQUEST_URI'] ); // The slug e.g. sambal-udang-2
    $slug = ucwords( str_replace( '-', ' ', $slug ) );
    add_filter( 'wp_title', function( $title ) use( $slug ) {
        return $slug;
    }); // This filter overrides wp_title which is used to print the meta title. It replaces whatever would we written normally with our edited version of the slug.
}
});

上面的代码假定您的服务器使用 PHP 5.3 或更高版本。为了支持旧系统,我们需要取消匿名函数:

add_action( 'template_redirect', 'xyz_tmplt_redirect' );

function xyz_tmplt_redirect() {
    if( is_single() ) {
        add_filter( 'wp_title', 'xyz_change_title' );
    }
}

function xyz_change_title( $title ) {
    $slug = basename( $_SERVER['REQUEST_URI'] ); // The slug e.g. sambal-udang-2
    $slug = ucwords( str_replace( '-', ' ', $slug ) );
    return $slug;
}
于 2013-01-20T09:47:54.453 回答