通过添加一些php标题自定义来添加一个内部的“英雄”区域

时间:2016-05-03 作者:lnickel

好了,开始了。我希望我在正确的地方。抱歉,如果已经回答了,我查看了常规,但找不到答案。

我目前正在建设WP网站,在主页上有一个滑动区域。由于缺少更好的术语,内部页面将有一个较小的“页面/帖子标题的英雄”。基本上,我正在尝试为小“英雄”内的每一页交换一幅图像和一个标题

所以我写了这篇文章,但我很难将标题插入到div中。

//Vars
$about = \'about-us-gradient\';
$work = \'work-gradient\';

if (is_page(\'about-us\')) {
  echo \'<div class="hero-interior-inner-gradient\'. \' \'. $about . \'">\'. \'<div class="hero-overlay">\'. add_title() .\'</div>\'. \'</div>\';
}                   

elseif (is_page(\'work\')) {
  echo \'<div class="hero-interior-inner-gradient\'. \' \'. $work . \'">\'. \'<div class="hero-overlay">\'. add_title() .\'</div>\'. \'</div>\';
}

function add_title() {
    if (is_home() ) {
        echo apply_filters(\'the_title\', get_post(get_option(\'page_for_posts\') )->post_title); 
    }  elseif ( is_search() ) { 
        echo \'Search Results\';
    } else {
        echo the_title();
    }


}

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

如果您想将函数结果串联成一个字符串,您应该返回它,而不是回显它。Echo只是将其发送到输出。

此外,您还犯了一个典型的错误,混淆了两种风格的WP模板标记。约定如下:

  • the_* 模板标签立即产生回声
  • get_the_* 模板标记返回结果