有没有办法让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
?
最合适的回答,由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()