是否始终将自定义字段设置为.get_the_title()?

时间:2012-09-05 作者:ad2003

有没有办法让the_title() 标记还包括一个名为subtitle?的自定义字段?

我想要这样的标题:“字幕自定义字段:帖子标题”。例如,“酷:沃纳·赫尔佐格的新电视节目”

在这种情况下,cool将是自定义字段值,而新TV将是the_title().

我现在通过以下代码获得此信息:

<h1><?php $values = get_post_custom_values("myCustomField"); echo $values[0]; ?>: <?php the_title(); ?>"><?php $values = get_post_custom_values("myCustomField"); echo $values[0]; ?>

<p><?php the_title(); ?></p></h1>
问题是,谷歌有时在标题中使用自定义字段为帖子编制索引,有时不使用自定义字段,这在某些情况下毫无意义。我还以同样的方式在title= 属性

有没有办法告诉WordPress是否有自定义字段的子文本,请始终将其打印在post_title?

2 个回复
最合适的回答,由SO网友:Manny Fleurmond 整理而成

<?php
function add_subtitle($title, $id) {
    $subtitle = get_post_meta($id, \'myCustomField\', true);
    $new_title = $title;
    if(!empty($subtitle))
        $new_title = $subtitle . \': \' . $new_title;
    return $new_title;
}
add_filter(\'the_title\', \'add_subtitle\', 10, 2);
基本上,这使用the_title 筛选以将副标题添加到标题中。它仅在该自定义字段可用时才添加它,否则,它只保留标题。

SO网友:amit

the_title() 接受参数,我们可以使用它们传递自定义字段值,以在标题之前或之后显示。

示例-

<?php the_title( get_post_meta($post->ID, \'myCustomField\', TRUE) ); ?>
Note - 确保将第三个参数设置为TRUE, 将返回一个STRING,

编辑#1-

/*  
 *  The OneLiner ( Note the DOT between two strings ) 
 *  OutPut - Foo: the post title
 */
the_title( get_post_meta($post->ID, \'myCustomField\', TRUE) . \': \');
参考法典-Function Reference - the title()

结束

相关推荐