如何使用条件定义表头中的Og元标签

时间:2014-09-18 作者:user51030

我正在尝试在标题中配置我的Facebook Og元标记,以便在我想要的页面类型上得到不同的结果。我遇到了一些通过谷歌搜索无法解决的障碍,所以我想在这里寻求帮助。

这个问题分为两部分,一部分是关于if语句和wordpress条件标记。第二个是关于get\\u The\\u摘录与if语句的使用。

在这里,我试图设置默认标题。但我怀疑我的问题与我的if声明有关。

<meta property="og:title" content="<?php if( is_single() || is_page()){ 
echo get_the_title(); //for post and pages
}else{ if( is_home() || is_front_page() ){
echo "Predefined Name";  //force the name as default for the home / front page
}else{
echo wp_title //to get default title for all other types of pages
}
?>" />
对于页面描述,我也尝试使用get\\u the\\u extract获取摘录,但失败了,因为我在循环之外,所以无法工作。我一直在寻找here (Get excerpt using get_the_excerpt outside a loop) 寻求帮助,但我不确定如何合并这些。

    <meta property="og:description" content="<?php if (is_single() ){
        echo get_the_excerpt //to get the post\'s excerpt from outside the loop
    }else{ if( is_home() || is_front_page() ){
    echo "Predefined Description";  //doing this to force a default description
    }else{
        echo "Predefined Description"; //for all other pages
    } ?>" />

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

看起来你的elseif语句不正确。尝试以下操作:

if ( is_single() || is_page() ) {
echo get_the_title();
} elseif ( is_home() || is_front_page() ) {
echo "Predefined Name";
} else {
echo wp_title;
}

http://php.net/manual/en/control-structures.elseif.php

结束