2016-10-03 5 views
0

게시글에만 적용되는 게시물 제목이 WordPress의 화면에 표시되는 방식을 변경하는 방법을 찾고 있습니다.WordPress 사용자 정의 게시물 제목

게시물 제목에 이름, 성별, 나이를 표시하려고합니다. 내가 표시 한 이름은 현재 게시물 제목이며 성별과 나이를 표시 목적으로 만 추가하려고합니다.

저는 현재 코드를 사용했지만 타일을 사용하는 모든 테마에 적용되며 메뉴 항목에도이 필드를 추가합니다. 이 모든 대체 어디

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; 

}); 

내가 뭘 : 내가 테마 내에서 PHP 파일 중 하나를 편집하지 않은, 그리고를 방지하고 기능 여기

을 통해 그것을 할 싶은 내 코드입니다 이러한 추가 필드 제목, 업데이트뿐만 아니라 포스트 헤더

답변

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

이 게시물은 ID로 체크 아웃을 놓친 것처럼 보입니다. –

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 파일 또는 모든 플러그인 파일에 있습니다.

참고 :이 코드는 테스트되지 않았지만 제대로 작동합니다.


참조 :

+0

이 하나가 내 테마의 메뉴 항목은 더 이상 렌더링하지 것처럼, 작동하지 않았다. –

+0

@BrettCanfield : 코드를 업데이트했는지 확인하십시오. 작동합니다. –

관련 문제