使用自定义页面模板设置页面标题

时间:2014-10-07 作者:user995426

大多数相关问题仍然没有答案或信息很少。我有一个自定义主题website 并对标题使用WordPress SEO。

除了通过模板创建的页面,即。/adopt-a-dog/dog-breeds. 这些页面有收养条目和犬种的列表。领养狗的用途adoption-search.php 作为模板和adopt-details.php 显示单个结果。作为犬种使用breeds.php 显示犬种页面以及各个犬种。

我尝试在中添加标题header.php 使用条件is_page_template(\'adopt-details.php\') 但这行不通。我还试图修改functions.php 但这也没用。

它显示了WordPress SEO中设置的标题,即“领养一条狗,拯救一条生命”。相反,如果领养结果是小狗Fodo,我想将标题设置为:"Adoption details for " . pet_name . ", " . pet_city

有没有办法从页面模板设置标题,或者根据URL设置标题?

我尝试过的代码:

if ( ( get_permalink() == \'http://animalswecare.com/dog-breeds/\' || 
    get_permalink() == \'http://animalswecare.com/cat-breeds/\' ) && 
    uri_segment( 2 ) != \'0\' ) 
{ 
    ?><title><?php echo uri_segment( 2 ); ?></title><?php 
} else {
    ?><title><?php wp_title( \'|\', true, \'right\' ); ?></title><?php
}
我尝试的第二个选项是在页面adopt-detail-dog. 添加此代码时,URL显示为标题。如果可以以某种方式清理URL以显示为文本,那也没关系。

if ( is_page( 589 ) ) { 
    global $wpseo_front;
    remove_action( \'wp_head\', array( $wpseo_front, \'head\' ), 1 );
    ?><title>hiiiiiiiiiiiiiiiiii</title><?php
} else {
    ?><title><?php wp_title( \'|\', true, \'right\' ); ?></title><?php
}
这会将标题更改为显示页面URL,但不会将“hiiiiiiiiiiii”显示为标题。

2 个回复
SO网友:user995426

对于犬种,我在模板页面中添加了以下代码,覆盖了WP SEO功能:

function assignPageTitle() { // To set page title
    global $resultarray;
    return $resultarray->breed_title;
} 

if ( uri_segment( 2 ) != \'0\' ) {
    add_filter( \'wpseo_title\', \'assignPageTitle\' ); // WP SEO function overwritten
}
有关其他WP SEO功能的列表,请参阅this.

SO网友:vivek

添加以下内容code 您的功能。php文件:

function wpse62415_filter_wp_title( $title ) {
    // Return a custom document title for
    // the my-custom-page custom page template
    if ( is_page_template( \'my-custom-page.php\' ) ) {
        return \'I\\\'m the my-custom-page details page\';
    }
    // Otherwise, don\'t modify the document title
    return $title;
}
add_filter( \'wp_title\', \'wpse62415_filter_wp_title\' );

结束

相关推荐