首页 文章

WordPress自定义帖子 Headers

提问于
浏览
0

我正在寻找一种方法来改变WordPress中屏幕上 Headers 的显示方式,该方法仅适用于帖子 Headers .

我想在帖子 Headers 中显示姓名,性别,年龄 . 我显示的名称是当前的帖子 Headers ,我试图将性别和年龄添加到此仅用于显示目的 .

我已经使用了当前的代码,但它适用于我使用磁贴的主题中的所有内容,并将这些字段添加到菜单项中 . 我没有编辑主题中的任何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;

} );

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

2 回答

  • 1
    <?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;
    }
    ?>
    
  • 0

    UPDATED

    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文件中,或者也可以放在任何插件文件中 .

    请注意:此代码未经过测试,但应该可以使用 .


    参考:

相关问题