我正在寻找一种方法来更改WordPress中屏幕上显示帖子标题的方式,该方法仅适用于帖子标题。
我正在尝试在帖子标题中显示姓名,性别,年龄。我显示的名称是当前的帖子标题,我正在尝试添加性别和年龄,仅用于显示目的。
我已经使用了当前的代码,但它适用于我使用磁贴的主题中的所有内容,并将这些字段添加到菜单项中。 我没有编辑主题中的任何PHP文件,并希望避免这种情况,并通过函数
来完成这是我的代码:
add_filter( 'the_title', function( $title ) {
$gender = get_field('gender');
$dob = get_field('date_of_birth');
$birthday = new DateTime($dob);
$interval = $birthday->diff(new DateTime);
if ('babysitters' == get_post_type()) {
$temp_title = $title;
$bbstitle = $temp_title .', ' .$gender .', ' .$interval->y;
return $bbstitle;
}
return $title;
} );
我在做什么,用这些附加字段替换所有标题,而不仅仅是帖子标题
答案 0 :(得分:1)
<强>已更新强>
function text_domain_custom_title($title) {
global $post;
if ($post->post_type == 'babysitters') {
$gender = get_field('gender', $post->ID);
$dob = get_field('date_of_birth', $post->ID);
$birthday = new DateTime($dob);
$interval = $birthday->diff(new DateTime);
$bbstitle = $title . ', ' . $gender . ', ' . $interval->y;
return $bbstitle;
} else {
return $title;
}
}
add_filter('the_title', 'text_domain_custom_title', 10, 2);
此代码位于活动子主题(或主题)的function.php文件中或任何插件文件中。
请注意:此代码未经过测试,但应该可以使用。
参考:
答案 1 :(得分:0)
<?php
add_filter('the_title', 'new_title', 10, 2);
function new_title($title, $id) {
if('babysitters' == get_post_type($id)){
$gender = get_field('gender');
$dob = get_field('date_of_birth');
$birthday = new DateTime($dob);
$interval = $birthday->diff(new DateTime);
$newtitle = $title .', ' .$gender .', ' .$interval->y;
}
else{
$newtitle = $title;
}
return $newtitle;
}
?>