워드프레스에서 다음/이전 포스트 href 및 제목을 가져오는 방법
하나의 기둥을 보는 것에 관한 것입니다.이전 및 다음 블로그 게시물에 대한 링크를 다음과 같이 설정하려고 합니다.
<a class="prevpost" href="linktoprevpost" title="prev post's title"> </a>
<a class="nextpost" href="linktonextpost" title="next post's title"> </a>
여기서 두 링크는 block과 지정된 너비 및 높이를 사용하여 배경으로 이미지를 가져옵니다.링크된 게시물의 제목은 a-tag의 title-attribute를 통해 접근할 수 있어야 하며, 사용자는 이를 마우스 포인터로 볼 수 있어야 합니다.
현재 카테고리의 링크 투고도 제한하고 싶습니다.그래서 나는 그 방법을 찾아야 한다.
- 전/다음 포스트의 href가 붙은 a태그
- 현재 보고 있는 것과 동일한 범주에 속합니다.
- 배경 이미지 때문에 내부 텍스트 없이
- 제목에 이전/다음 게시물 이름을 붙여서
- 커스텀 css-class를 사용하여
카테고리의 매칭은 첫 번째 레벨만 하면 됩니다.내 페이지를 3개의 주요 카테고리로 나누었기 때문입니다.사용하고 있다
$a = get_the_category(get_the_ID());
$cat = $a[0]->name;
첫 번째 카테고리의 이름을 가져와 header.disclass에서 추가 body-class로 설정합니다.내가 그걸 재사용할 수 있을까?
또한 previous_post_link()와 next_post_link()를 이렇게 사용하는 것도 알게 되었습니다.
next_post_link('%link', '', TRUE);
같은 카테고리의 게시물을 내부 콘텐츠 없이 보내주시면 1과 2와 3이 해결됩니다.하지만 4와 5를 얻으려면 다른 방법이 필요할 것 같아요.
Wordpress 버전 3.4.1 사용.
기능이나 필터는 필요 없습니다.사용만 하면 됩니다.get_adjacent_post대신next_post_link그리고.prev_post_link에 주의해 주세요.get_adjacent_post이전 게시물과 다음 게시물을 얻으려면 여기를 참조하십시오. 이전 게시물과 제목 속성을 얻으려면 다음을 사용하십시오.
$prev_post = get_adjacent_post(false, '', true);
if(!empty($prev_post)) {
echo '<a href="' . get_permalink($prev_post->ID) . '" title="' . $prev_post->post_title . '">' . $prev_post->post_title . '</a>'; }
다음 게시물과 해당 게시물의 제목 속성을 얻으려면 다음과 같이 하십시오.
$next_post = get_adjacent_post(false, '', false);
if(!empty($next_post)) {
echo '<a href="' . get_permalink($next_post->ID) . '" title="' . $next_post->post_title . '">' . $next_post->post_title . '</a>'; }
알겠습니다.
제 코드는 다음과 같습니다.
$p = get_adjacent_post(1, '', 1);
if(!empty($p)) echo '<a class="prevpost" href="'.$p->guid.'" title="'.$p->post_title.'"> </a>';
$n = get_adjacent_post(1, '', 0);
if(!empty($n)) echo '<a class="nextpost" href="'.$n->guid.'" title="'.$n->post_title.'"> </a>';
이 함수는 링크를 생성하기 위해 사용할 수 있는 이전/다음 게시의 개체를 반환합니다.첫 번째 파라미터는 같은 cat의 투고를 제한하기 위한 것입니다.
어제 워드프레스 코덱스로 몇 번 검색했지만, 이 기능을 발견하지 못하고, 우연히 이 기능을 발견하게 되었습니다.
만약 누군가가 더 나은/심플한/빠른 방법을 가지고 있다면, 수락된 답변을 얻기 위해 글을 올려주세요.
스텝 1 : 이 기능을 아래 함수에 추가하면 됩니다.php
// its to ssolve single page next and previous liinks
# get_adjacent_post( $in_same_cat = false, $excluded_categories = '', $previous = true )
function echo_next_previous_post_link($fmg_name="link" ,$selector="next")
{
if ($selector=="next") {
$next_post_obj = get_adjacent_post( '', '', false );
$next_post_ID = isset( $next_post_obj->ID ) ? $next_post_obj->ID : '';
$next_post_link = get_permalink( $next_post_ID );
$next_post_title = get_the_title($next_post_ID);
if ($fmg_name=="link") {
echo $next_post_link ;
}
else {
echo $next_post_title ;
}
}
else {
$previous_post_obj = get_adjacent_post( '', '', true );
$previous_post_ID = isset( $previous_post_obj->ID ) ? $previous_post_obj->ID : '';
$previous_post_link = get_permalink( $previous_post_ID );
$previous_post_title = get_the_title($previous_post_ID);
if ($fmg_name=="link") {
echo $previous_post_link ;
}
else {
echo $previous_post_title ;
}
}
}
순서 2: 투고 URL과 제목을 원하는 페이지로 인쇄할 수 있습니다.
<a href="<?php echo_next_previous_post_link("link","next"); ?>"><?php echo_next_previous_post_link("title","next"); ?></a>
<a href="<?php echo_next_previous_post_link("link","previous"); ?>"><?php echo_next_previous_post_link("title","previous"); ?></a>
이전 코드는 작동하지 않았습니다.나는 다음과 같이 왔다.
<?php
$prev = get_adjacent_post(true,'',true);
$next = get_adjacent_post(true,'',false);
?>
<div>
<a href="<?php echo get_permalink($prev->ID);?>">Previous</a>
<p><?php echo get_the_title($prev->ID );?></p>
</div>
<div>
<a href="<?php echo get_permalink($next->ID);?>">Next</a>
<p><?php echo get_the_title($next->ID );?></p>
</div>
<?
echo '<a href="'.get_permalink( get_the_ID()-1 ).'" title="'.get_the_title( get_the_ID()-1 ).'">Previous</a>';
echo '<a href="'.get_permalink( get_the_ID()+1 ).'" title="'.get_the_title( get_the_ID()-1 ).'">Next</a>';
?>
언급URL : https://stackoverflow.com/questions/11379549/how-to-get-next-previous-post-hrefs-and-titles-in-wordpress
'programing' 카테고리의 다른 글
| Woocommerce 제품 가져오기 (0) | 2023.03.20 |
|---|---|
| 텍스트 영역의 트위터 스타일 자동 완성 (0) | 2023.03.20 |
| Ajax에서의 GET vs POST (0) | 2023.03.20 |
| Angular에서 요소의 실제 너비는 언제 알 수 있습니까? (0) | 2023.03.15 |
| AngularJS 컨트롤러 및 "엄격 사용" (0) | 2023.03.15 |