如何在Genesis中修改标题标签?

时间:2015-02-18 作者:ExcellentSP

我需要修改输出的<title></title> 标记一些特定的模板,并且必须在php中完成,以便我可以动态地为其生成内容。我一直在玩弄这两段代码,以使其发挥作用,但到目前为止,我唯一得到的变化是重复的标题标记:

remove_filter(\'wp_title\',\'genesis_default_title\', 10, 3);
add_filter(\'wp_title\', \'process_page_titles\', 10, 3);

function process_page_titles($title){
    if ( is_page_template( \'landing-page-template.php\' ) ) {
        return \'Select Your Car\';
    } 
    elseif( is_page_template( \'dealer-page-template.php\' ) ) {
        return \'Select Dealers\';
    }
    elseif( is_page_template( \'thank-you-page-template.php\' ) ) {
        return \'Thank You\';
    }
    elseif( is_page_template( \'ad-page-template.php\' ) ) {
        return \'Deals!\';
    }
}
还有这个

remove_action(\'genesis_title\',\'genesis_do_title\');
add_action(\'genesis_title\', \'process_page_titles\');

function process_page_titles(){
    if ( is_page_template( \'landing-page-template.php\' ) ) {
        echo \'<title>\';
        wp_title( \'|\',\'Select Car\',\'right\' );
        echo \'</title>\';
    } 
    elseif( is_page_template( \'dealer-page-template.php\' ) ) {
        echo \'<title>\';
        wp_title( \'|\',\'Select Dealer\',\'right\' );
        echo \'</title>\';
    }
    elseif( is_page_template( \'thank-you-page-template.php\' ) ) {
        echo \'<title>\';
        wp_title( \'|\',\'Thank You\',\'right\' );
        echo \'</title>\';
    }
    elseif( is_page_template( \'ad-page-template.php\' ) ) {
        echo \'<title>\';
        wp_title( \'|\',\'Deals!\',\'right\' );
        echo \'</title>\';
    }
    else{
        echo \'<title>\';
        wp_title();
        echo \'</title>\';
    }
}
这些代码片段将被放置在每个页面模板所需的PHP文件中;因此,无需担心影响其他页面模板,因为它不在功能中。php。

2 个回复
SO网友:Pat Gilmour

尝试创建自定义标题。

remove_filter( \'wp_title\', \'genesis_default_title\', 10, 3 ); //Default title
remove_action( \'genesis_site_title\', \'genesis_seo_site_title\' ); //Genesis Extra Stuff
remove_action( \'genesis_site_description\', \'genesis_seo_site_description\' ); //Genesis Extra Stuff

add_filter( \'wp_title\', \'genesis_default_title_new\', 10, 3 );
function genesis_default_title_new( $title) {

    $title = \'Hello World!\';
    return $title;
}

SO网友:Josh Bradley

如果您想以最原始的方式自定义标题,可以为document_title_parts

remove_filter( \'document_title_parts\', \'genesis_document_title_parts\' );
add_filter( \'document_title_parts\', \'custom_document_title_parts\' );

function custom_document_title_parts( $parts ) {
    $genesis_document_title_parts = new Genesis_SEO_Document_Title_Parts();
    $custom_document_title_parts = $genesis_document_title_parts->get_parts( $parts );
    $custom_document_title_parts[\'title\'] = \'Hello world\';
    return $custom_document_title_parts;
}
在最新版本的《创世纪》中,do_action( \'genesis_title\' ); 在中找到genesis/header.php 实际上什么都没做。从未向添加任何操作genesis_title 在最新版本中。

相反<title> 正在呈现为wp_head(); 在里面header.php, 按标准。

Genesis通过添加过滤器自定义标题genesis_document_title_parts\'document_title_parts 位于genesis/lib/structure/header.php.

要了解其工作原理,您需要知道document_title_parts 正在做。你会在wp-includes/general-template.php 在功能范围内wp_get_document_title() 作为标题文本清理和返回之前的最后一步。因为Genesis正在向该步骤添加一个过滤器,所以它可以使用他们选择的任何自定义值覆盖标题。

如果你继续遵循逻辑,你会发现wp_get_document_title() 负责创建中使用的标题wp_head.

如果你想知道怎么做,看看/wp-includes/default-filters.php. 已将操作添加到wp_head 对于_wp_render_title_tag. 这个函数简单地包装了wp_get_document_title() 在里面<title> 标签。

回到Genesis如何使用此功能自定义标题,回想一下genesis_document_title_parts 已作为筛选器添加到document_title_parts.

genesis_document_title_parts 是一个返回自定义SEO标题的函数,如果该标题在数据库中可用。它使用类Genesis_SEO_Document_Title_Parts 在中找到genesis/lib/classes/class-genesis-seo-document-title-parts.php.

结束

相关推荐

父页面的POST_TITLE必须出现在子页面永久链接中吗?

如果我有一个叫Home 然后是一个以主页为父页面的子页面,有没有办法避免子页面的永久链接中出现“主页”?我注意到这是一个单页滚动主题,它要求您将许多页面设置为主页的子页面。从SEO的角度来看,在所有的永久链接中都有“家”并不好。This question 似乎相关,但涉及类别

如何在Genesis中修改标题标签? - 小码农CODE - 行之有效找到问题解决它

如何在Genesis中修改标题标签?

时间:2015-02-18 作者:ExcellentSP

我需要修改输出的<title></title> 标记一些特定的模板,并且必须在php中完成,以便我可以动态地为其生成内容。我一直在玩弄这两段代码,以使其发挥作用,但到目前为止,我唯一得到的变化是重复的标题标记:

remove_filter(\'wp_title\',\'genesis_default_title\', 10, 3);
add_filter(\'wp_title\', \'process_page_titles\', 10, 3);

function process_page_titles($title){
    if ( is_page_template( \'landing-page-template.php\' ) ) {
        return \'Select Your Car\';
    } 
    elseif( is_page_template( \'dealer-page-template.php\' ) ) {
        return \'Select Dealers\';
    }
    elseif( is_page_template( \'thank-you-page-template.php\' ) ) {
        return \'Thank You\';
    }
    elseif( is_page_template( \'ad-page-template.php\' ) ) {
        return \'Deals!\';
    }
}
还有这个

remove_action(\'genesis_title\',\'genesis_do_title\');
add_action(\'genesis_title\', \'process_page_titles\');

function process_page_titles(){
    if ( is_page_template( \'landing-page-template.php\' ) ) {
        echo \'<title>\';
        wp_title( \'|\',\'Select Car\',\'right\' );
        echo \'</title>\';
    } 
    elseif( is_page_template( \'dealer-page-template.php\' ) ) {
        echo \'<title>\';
        wp_title( \'|\',\'Select Dealer\',\'right\' );
        echo \'</title>\';
    }
    elseif( is_page_template( \'thank-you-page-template.php\' ) ) {
        echo \'<title>\';
        wp_title( \'|\',\'Thank You\',\'right\' );
        echo \'</title>\';
    }
    elseif( is_page_template( \'ad-page-template.php\' ) ) {
        echo \'<title>\';
        wp_title( \'|\',\'Deals!\',\'right\' );
        echo \'</title>\';
    }
    else{
        echo \'<title>\';
        wp_title();
        echo \'</title>\';
    }
}
这些代码片段将被放置在每个页面模板所需的PHP文件中;因此,无需担心影响其他页面模板,因为它不在功能中。php。

2 个回复
SO网友:Pat Gilmour

尝试创建自定义标题。

remove_filter( \'wp_title\', \'genesis_default_title\', 10, 3 ); //Default title
remove_action( \'genesis_site_title\', \'genesis_seo_site_title\' ); //Genesis Extra Stuff
remove_action( \'genesis_site_description\', \'genesis_seo_site_description\' ); //Genesis Extra Stuff

add_filter( \'wp_title\', \'genesis_default_title_new\', 10, 3 );
function genesis_default_title_new( $title) {

    $title = \'Hello World!\';
    return $title;
}

SO网友:Josh Bradley

如果您想以最原始的方式自定义标题,可以为document_title_parts

remove_filter( \'document_title_parts\', \'genesis_document_title_parts\' );
add_filter( \'document_title_parts\', \'custom_document_title_parts\' );

function custom_document_title_parts( $parts ) {
    $genesis_document_title_parts = new Genesis_SEO_Document_Title_Parts();
    $custom_document_title_parts = $genesis_document_title_parts->get_parts( $parts );
    $custom_document_title_parts[\'title\'] = \'Hello world\';
    return $custom_document_title_parts;
}
在最新版本的《创世纪》中,do_action( \'genesis_title\' ); 在中找到genesis/header.php 实际上什么都没做。从未向添加任何操作genesis_title 在最新版本中。

相反<title> 正在呈现为wp_head(); 在里面header.php, 按标准。

Genesis通过添加过滤器自定义标题genesis_document_title_parts\'document_title_parts 位于genesis/lib/structure/header.php.

要了解其工作原理,您需要知道document_title_parts 正在做。你会在wp-includes/general-template.php 在功能范围内wp_get_document_title() 作为标题文本清理和返回之前的最后一步。因为Genesis正在向该步骤添加一个过滤器,所以它可以使用他们选择的任何自定义值覆盖标题。

如果你继续遵循逻辑,你会发现wp_get_document_title() 负责创建中使用的标题wp_head.

如果你想知道怎么做,看看/wp-includes/default-filters.php. 已将操作添加到wp_head 对于_wp_render_title_tag. 这个函数简单地包装了wp_get_document_title() 在里面<title> 标签。

回到Genesis如何使用此功能自定义标题,回想一下genesis_document_title_parts 已作为筛选器添加到document_title_parts.

genesis_document_title_parts 是一个返回自定义SEO标题的函数,如果该标题在数据库中可用。它使用类Genesis_SEO_Document_Title_Parts 在中找到genesis/lib/classes/class-genesis-seo-document-title-parts.php.

相关推荐

删除具有实际标题的SANITIZE_TITLE_WITH_DASSES函数

求你了,我真的需要帮助。下面的代码是在我的网站上将搜索查询保存为标记的代码,但它将标题替换为“-”,请问有什么方法可以使标记标题名称保持搜索状态?。function addsometags() { //Don\'t do anything if we\'ve already got 20 tags $posttags = get_the_tags(); $count=0; if ($posttags) { foreach($posttags as $tag