是否更改特定页面上的元描述?

时间:2015-06-23 作者:Kar19

如果我的主页是在android手机上打开的,我想更改它的标题和元描述。

我有一段代码,可以在函数中更改标题。php:

/**
 Modify the front/home page title for Android devices
**/
add_filter( \'wp_title\', function( $title )
{
    return
        ( is_front_page() || is_home() )
        && isset( $_SERVER[\'HTTP_USER_AGENT\'] ) 
        && false !== stripos( $_SERVER[\'HTTP_USER_AGENT\'], \'android\' )
        ? \'Title Test\'
        : $title;
}, PHP_INT_MAX );
此代码有效!

我现在正试图找出如何更改元描述。

元描述没有过滤器,我不太确定bloginfo(\'description\') 功能仍在工作。我用过echo bloginfo(\'description\'); 在收割台上。php文件并获取:

只是另一个WordPress网站

这绝对不是我的元描述。

据我所知,描述来自主题(?)。

Updates:

<我无法添加<meta name="description" content="test description ?>" /><head> - 它将其添加到现有的一个,而不接管它。

我试着运行commenter的两个函数here 建议了,但没用

/**
 Modify the front/home page meta description for Android devices
**/
add_filter(\'option_blogdescription\',\'replace_description\');
function replace_description($description) {
    if ( (is_front_page() || is_home()) && isset( $_SERVER[\'HTTP_USER_AGENT\'] ) && false !== stripos( $_SERVER[\'HTTP_USER_AGENT\'], \'android\' ) ){    
        $description = "test description";
    }
    return $description;
}

function replace_description($info, $show) {
  if ($show == \'description\') {
    $info = "test android";
  }
return $info;
}
add_filter(\'bloginfo\',\'replace_description\',PHP_INT_MAX);

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

元描述并不是“二十一五”主题的一部分。

昨天你在前面的问题中提到了Yoast插件,所以我猜元描述来自那里。

根据他们的API page, 有一个过滤器叫做wpseo_metadesc 这可能就是你要找的。

以下是一个未经测试的示例:

/**
 * Change the Yoast meta description for Android devices on the front/home page.
 */
add_filter( \'wpseo_metadesc\', function( $description )
{
    return 
        ( is_front_page() || is_home() ) 
        && isset( $_SERVER[\'HTTP_USER_AGENT\'] ) 
        && false !== stripos( $_SERVER[\'HTTP_USER_AGENT\'], \'android\' )
        ? \'Some Android description!\'
        : $description;

}, PHP_INT_MAX );

结束

相关推荐

bloginfo() vs get_option?

以下两者之间的区别是什么:bloginfo(\'name\');vs公司get_option(\'blogname\');参数只是一个示例,但在显示所需内容方面,我看不到任何差异。有什么特别的区别吗?还是仅仅出于语义原因。提前谢谢。