WordPress自定义帖子标题

时间:2016-10-03 04:24:12

标签: php wordpress

我正在寻找一种方法来更改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;

} );

我在做什么,用这些附加字段替换所有标题,而不仅仅是帖子标题

2 个答案:

答案 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;
}
?>