将All in One SEO与定制模板结合使用时,标题翻倍

时间:2010-11-07 作者:Dave Ward

我创建了一个单独的模板,附件。php,用于显示图像附件。它相对简单;基本上是单曲的精简版。php。一切都很好,除了当我启用了多合一SEO插件(并设置为重写标题)时,这些附件页上的标题会翻倍。

例如this attachment\'s标题应为“MacBook Air电池寿命11小时”,但标题标签应为“MacBook Air电池寿命11小时MacBook Air电池寿命11小时”

这只发生在附件上。php页面,而不是站点其他正常的帖子和页面。

知道是什么原因吗?

1 个回复
最合适的回答,由SO网友:Russell Skaggs 整理而成

问题在于多功能搜索引擎优化的设置方式。它假定您始终将媒体文件附加到帖子或页面。简单的方法是将它们附加到帖子或页面上,它会使您的附件标题为“PostName AttachmentName-Blogname”。

另一种方法也很简单,但您必须对插件进行更改。你打开aioseop。班php文件,并找到以下代码块:


else if (is_attachment()) { 
                            $title = get_the_title($post->post_parent).\' \'.$post->post_title.\' – \'.get_option(\'blogname\');
                            $header = $this->replace_title($header,$title);
        }
此设置的问题是,它会捕获父对象,无论它是否是子对象。如果没有父标题,则其父标题是其自己的标题,因此为双重标题。为了解决这个问题,我们可以添加一个if语句来检查它是否有父级,以避免双重标题。因此,代码如下所示:


else if (is_attachment()) { 
                            if(get_the_title($post->post_parent) != $post->post_title) {
                                $title = get_the_title($post->post_parent).\' \'.$post->post_title.\' – \'.get_option(\'blogname\');
                            } else {
                                $title = $post->post_title.\' – \'.get_option(\'blogname\');
                            }
                            $header = $this->replace_title($header,$title);
        }
然后您只需将其上载到All-in-One SEO插件文件夹,您的问题就会得到解决。

希望这有帮助。

{R:S}

将All in One SEO与定制模板结合使用时,标题翻倍 - 小码农CODE - 行之有效找到问题解决它

将All in One SEO与定制模板结合使用时,标题翻倍

时间:2010-11-07 作者:Dave Ward

我创建了一个单独的模板,附件。php,用于显示图像附件。它相对简单;基本上是单曲的精简版。php。一切都很好,除了当我启用了多合一SEO插件(并设置为重写标题)时,这些附件页上的标题会翻倍。

例如this attachment\'s标题应为“MacBook Air电池寿命11小时”,但标题标签应为“MacBook Air电池寿命11小时MacBook Air电池寿命11小时”

这只发生在附件上。php页面,而不是站点其他正常的帖子和页面。

知道是什么原因吗?

1 个回复
最合适的回答,由SO网友:Russell Skaggs 整理而成

问题在于多功能搜索引擎优化的设置方式。它假定您始终将媒体文件附加到帖子或页面。简单的方法是将它们附加到帖子或页面上,它会使您的附件标题为“PostName AttachmentName-Blogname”。

另一种方法也很简单,但您必须对插件进行更改。你打开aioseop。班php文件,并找到以下代码块:


else if (is_attachment()) { 
                            $title = get_the_title($post->post_parent).\' \'.$post->post_title.\' – \'.get_option(\'blogname\');
                            $header = $this->replace_title($header,$title);
        }
此设置的问题是,它会捕获父对象,无论它是否是子对象。如果没有父标题,则其父标题是其自己的标题,因此为双重标题。为了解决这个问题,我们可以添加一个if语句来检查它是否有父级,以避免双重标题。因此,代码如下所示:


else if (is_attachment()) { 
                            if(get_the_title($post->post_parent) != $post->post_title) {
                                $title = get_the_title($post->post_parent).\' \'.$post->post_title.\' – \'.get_option(\'blogname\');
                            } else {
                                $title = $post->post_title.\' – \'.get_option(\'blogname\');
                            }
                            $header = $this->replace_title($header,$title);
        }
然后您只需将其上载到All-in-One SEO插件文件夹,您的问题就会得到解决。

希望这有帮助。

{R:S}