안녕하세요. K보드 게시판 '게시물(도큐먼트)' 타이틀 지정관련 문의 드립니다!
현재 여러 게시판을 숏코드 형태로 워드프레스 페이지에 삽입해 사용하고 있는데요.
게시판(리스트)가 있는 페이지는 seo 플러그인을 통해 타이틀을 설정해둔 상태입니다.
ex.
<meta property="og:title" content="| AA, BBBB">
<meta property="og:site_name" content="CCC">
->
<title> CCC | AA, BBBB</title>
그런데 설정하고 보니 등록된 게시물이 나오는 -document.php를 사용하는-
게시물에는 사이트이름인 CCC 만 나오고 있습니다.
페이지가 아니라 플러그인을 적용할 수가 없어 케이보드쪽
코드를 수정해서 타이틀을 지정하고 싶은데 혹시 어디를 어떻게 수정하면 될지 알려주실 수 있을까요?
추가로 게시판이 여러개라 게시판마다 다른 타이틀을 지정하고자 합니다.
안녕하세요~^^
KBoard 플러그인 게시글 본문 페이지에서
브라우저 타이틀에 표시되는 문구는 게시글의 제목으로 표시되도록 설정되어 있습니다.
document_title_parts 필터와 wp_title 필터를 활용하고 있습니다.
FTP로 접속해서 /wp-content/plugins/kboard/class/KBSeo.class.php 파일에서 확인해보실 수 있습니다.
게시판 별로 브라우저 타이틀을 별도로 설정하시려면
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_action('init', 'my_init', 10, 1);
function my_init(){
if(current_theme_supports('title-tag')){
add_filter('document_title_parts', 'my_document_title_parts', 999, 1);
}
else{
add_filter('wp_title', 'my_document_title_parts', 999, 1);
}
}
function my_document_title_parts($title){
$contnet_uid = kboard_uid();
if($contnet_uid){
$content = new KBContent();
$content->initWithUID($contnet_uid);
$board = $content->getBoard();
if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
if(is_array($title)){
$title['title'] = $content->getTitle() . '| A';
return $title;
}
else{
return $content->getTitle() . ' | A';
}
}
if($board->id == '2'){ // 실제 게시판 id로 적용해주세요.
if(is_array($title)){
$title['title'] = $content->getTitle() . '| B';
return $title;
}
else{
return $content->getTitle() . ' | B';
}
}
}
return $title;
}
위의 코드에서 $board->id == '1' 부분과 $board->id == '2' 부분은 실제 게시판 id로 적용해보세요.
'| A' 부분과 '| B' 부분은 수정하시려는 문구로 적용해보세요.
아래의 코드로 3번째 게시판도 추가하실 수 있습니다.
if($board->id == '3'){ // 실제 게시판 id로 적용해주세요.
if(is_array($title)){
$title['title'] = $content->getTitle() . '| C';
return $title;
}
else{
return $content->getTitle() . ' | C';
}
}
고맙습니다.