CMS 튜토리얼 Word누르다 WordPress 카테고리, 태그 등 아카이브 페이지를 상단에 고정하는 방법

WordPress 카테고리, 태그 등 아카이브 페이지를 상단에 고정하는 방법

Dec 28, 2019 am 09:52 AM
wordpress

WordPress 카테고리, 태그 등 아카이브 페이지를 상단에 고정하는 방법

워드프레스 카테고리, 태그 등 아카이브 페이지를 상단에 고정하는 방법은 무엇인가요?

이 문서의 예에서는 WordPress 카테고리 및 태그와 같은 아카이브 페이지의 상단에 도달하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

권장: "wordpress tutorial"

wordpress에서는 기본적으로 기사를 페이지 상단에 고정할 수 있습니다. 이는 홈페이지와 같은 아카이브 페이지에만 해당됩니다. 기사를 상단에 고정하기 위한 카테고리/태그도 2차 개발이 필요합니다.

이제 wp-includes/query.php 홈페이지 상단의 코드를 참고하여 약간만 수정하면 카테고리 페이지 등의 아카이브 페이지가 생성됩니다. , 태그 페이지, 작성자 페이지 및 날짜 페이지도 홈페이지처럼 상단에 해당 범위 내에서 상위 기사를 표시할 수 있습니다. 현재 테마 아래의 function.php에 다음 코드를 입력하면 됩니다.

add_filter('the_posts', 'putStickyOnTop' ); 
function putStickyOnTop( $posts ) { 
if(is_home() || !is_main_query() || !is_archive()) 
return $posts; 
global $wp_query; 
$sticky_posts = get_option('sticky_posts'); 
if ( $wp_query->query_vars[&#39;paged&#39;] <= 1 && is_array($sticky_posts) && !emptyempty($sticky_posts) && !get_query_var(&#39;ignore_sticky_posts&#39;) ) { $stickies1 = get_posts( array( &#39;post__in&#39; => $sticky_posts ) ); 
foreach ( $stickies1 as $sticky_post1 ) { 
// 判断当前是否分类页 
if($wp_query->is_category == 1 && !has_category($wp_query->query_vars[&#39;cat&#39;], $sticky_post1->ID)) { 
// 去除不属于本分类的文章 
$offset1 = array_search($sticky_post1->ID, $sticky_posts); 
unset( $sticky_posts[$offset1] ); 
} 
if($wp_query->is_tag == 1 && has_tag($wp_query->query_vars[&#39;tag&#39;], $sticky_post1->ID)) { 
// 去除不属于本标签的文章 
$offset1 = array_search($sticky_post1->ID, $sticky_posts); 
unset( $sticky_posts[$offset1] ); 
} 
if($wp_query->is_year == 1 && date_i18n(&#39;Y&#39;, strtotime($sticky_post1->post_date))!=$wp_query->query[&#39;m&#39;]) { 
// 去除不属于本年份的文章 
$offset1 = array_search($sticky_post1->ID, $sticky_posts); 
unset( $sticky_posts[$offset1] ); 
} 
if($wp_query->is_month == 1 && date_i18n(&#39;Ym&#39;, strtotime($sticky_post1->post_date))!=$wp_query->query[&#39;m&#39;]) { 
// 去除不属于本月份的文章 
$offset1 = array_search($sticky_post1->ID, $sticky_posts); 
unset( $sticky_posts[$offset1] ); 
} 
if($wp_query->is_day == 1 && date_i18n(&#39;Ymd&#39;, strtotime($sticky_post1->post_date))!=$wp_query->query[&#39;m&#39;]) { 
// 去除不属于本日期的文章 
$offset1 = array_search($sticky_post1->ID, $sticky_posts); 
unset( $sticky_posts[$offset1] ); 
} 
if($wp_query->is_author == 1 && $sticky_post1->post_author != $wp_query->query_vars[&#39;author&#39;]) { 
// 去除不属于本作者的文章 
$offset1 = array_search($sticky_post1->ID, $sticky_posts); 
unset( $sticky_posts[$offset1] ); 
} 
} 
$num_posts = count($posts); 
$sticky_offset = 0; 
// Loop over posts and relocate stickies to the front. 
for ( $i = 0; $i < $num_posts; $i++ ) { 
if ( in_array($posts[$i]->ID, $sticky_posts) ) { 
$sticky_post = $posts[$i]; 
// Remove sticky from current position 
array_splice($posts, $i, 1); 
// Move to front, after other stickies 
array_splice($posts, $sticky_offset, 0, array($sticky_post)); 
// Increment the sticky offset. The next sticky will be placed at this offset. 
$sticky_offset++; 
// Remove post from sticky posts array 
$offset = array_search($sticky_post->ID, $sticky_posts); 
unset( $sticky_posts[$offset] ); 
} 
} 
// If any posts have been excluded specifically, Ignore those that are sticky. 
if ( !emptyempty($sticky_posts) && !emptyempty($wp_query->query_vars[&#39;post__not_in&#39;] ) ) 
$sticky_posts = array_diff($sticky_posts, $wp_query->query_vars[&#39;post__not_in&#39;]); 
// Fetch sticky posts that weren&#39;t in the query results 
if ( !emptyempty($sticky_posts) ) { 
$stickies = get_posts( array( 
&#39;post__in&#39; => $sticky_posts, 
&#39;post_type&#39; => $wp_query->query_vars[&#39;post_type&#39;], 
&#39;post_status&#39; => &#39;publish&#39;, 
&#39;nopaging&#39; => true 
) ); 
foreach ( $stickies as $sticky_post ) { 
array_splice( $posts, $sticky_offset, 0, array( $sticky_post ) ); 
$sticky_offset++; 
} 
} 
} 
return $posts; 
}
로그인 후 복사

코드 설명:

1. 보관 페이지에 고정된 모든 기사를 표시하려면 코드의 11-43행을 삭제하세요.

2. 특정 카테고리 페이지에서 3번째 줄의

코드를 다음과 같이 변경하세요.

if( 
//改成: 
// abc是分类名称 
if ( is_category( &#39;abc&#39; ) ||
로그인 후 복사

3. 특정 탭 페이지에 고정된 글이 표시되지 않게 하려면 3번째 줄을 변경하세요. 코드

코드는 다음과 같습니다. 다음:

if( 
//改成: 
// abc是标签名称 
if ( is_tag( &#39;abc&#39; ) ||
로그인 후 복사

4. 작성자 페이지에 고정된 기사가 표시되지 않도록 하려면 3행의

코드를 다음과 같이 변경하세요.

if( 
//改成: 
// abc是作者昵称 
if ( is_author( &#39;abc&#39; ) ||
로그인 후 복사

5. 위 코드는 다음과 같은 경우에만 메인 루프에 유효합니다. 아카이브 페이지 WP_Query 또는 query_posts에서 이를 사용하여 기사 목록을 가져오고 이 목록의 상단에 고정된 기사를 표시하려면 코드의 세 번째 줄에서 다음 코드를 삭제할 수 있습니다(참고: 표시되는 기사 수는 다를 수 있음) 설정한 것에서):

Code 다음과 같습니다:

코드는 다음과 같습니다:

|| !is_main_query()
로그인 후 복사

Sticky 스타일: 끈끈한 기사에 스타일을 추가하려면 function.php에 다음 코드를 추가하세요. 상단 기사에 끈끈한 이름의 클래스, 특정 CSS 코드를 추가하고 사용자 정의:

코드는 다음과 같습니다.

add_filter(&#39;post_class&#39;, &#39;addStickyClass&#39; ,10,3 ); 
function addStickyClass( $classes, $class, $post_id ){ 
if( is_sticky() && is_category() && !isset( $classes[&#39;sticky&#39;] ) ){ 
$classes[] = &#39;sticky&#39;; 
} 
return $classes; 
}
로그인 후 복사

이 기사가 모든 사람의

WordPress 웹 사이트 구축에 도움이 되기를 바랍니다.

위 내용은 WordPress 카테고리, 태그 등 아카이브 페이지를 상단에 고정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

WordPress 기사 목록을 조정하는 방법 WordPress 기사 목록을 조정하는 방법 Apr 20, 2025 am 10:48 AM

WordPress 기사 목록을 조정하는 4 가지 방법이 있습니다. 테마 옵션 사용, 플러그인 사용 (예 : Post Type Order, WP Post List, Boxy Sitture), 코드 사용 (Functions.php 파일의 설정 추가) 또는 WordPress 데이터베이스를 직접 수정하십시오.

WordPress에 주석을 추가하는 방법 WordPress에 주석을 추가하는 방법 Apr 20, 2025 am 11:42 AM

WordPress에서 주석을 추가하는 단계는 다음과 같습니다. 주석 활성화 : "주석 허용"을 확인하여 특정 기사 또는 모든 기사에 대한 주석을 활성화합니다. 주석 옵션 설정 : 주석 승인, 페이징, 중첩 된 주석 및 기타 설정을 사용자 정의하십시오. 주석 양식 추가 : 제공된 코드를 사용하여 원하는 위치에 주석 양식을 추가하십시오. 주석 표시 : 제공된 코드를 사용하여 제출 된 주석을 표시합니다. 의견에 답장 : 답장 링크를 통해 단일 주석에 답장하거나 배치 작업을 사용하여 여러 의견에 답장하십시오. 주석 관리 : 주석 탭에서 주석을보고, 삭제, 승인 및 태그를 지정합니다.

사용하기 쉬운 WordPress의 권장 제품 등록 플러그인 사용하기 쉬운 WordPress의 권장 제품 등록 플러그인 Apr 20, 2025 am 08:15 AM

완벽한 WordPress 제품 등록 플러그인은 없으므로 선택은 실제 요구 사항과 웹 사이트 크기를 기반으로해야합니다. 권장 플러그인 포함 : Memberpress : 강력하지만 고가의 복잡한 구성 제한 컨텐츠 Pro : 콘텐츠 제한 및 회원 관리에 중점을 둡니다. 비용 효율적인 쉬운 디지털 다운로드 : 디지털 제품 판매 및 사용자 등록

WordPress 웹 사이트 계정 로그인 WordPress 웹 사이트 계정 로그인 Apr 20, 2025 am 09:06 AM

WordPress 웹 사이트 계정에 로그인하려면 : 로그인 페이지를 방문하십시오 : 웹 사이트 URL Plus "/wp-login.php"를 입력하십시오. 사용자 이름과 비밀번호를 입력하십시오. "로그인"을 클릭하십시오. 검증 2 단계 확인 (선택 사항). 성공적으로 로그인하면 웹 사이트 대시 보드가 표시됩니다.

WordPress의 편집 날짜를 취소하는 방법 WordPress의 편집 날짜를 취소하는 방법 Apr 20, 2025 am 10:54 AM

WordPress 편집 날짜는 세 가지 방법으로 취소 할 수 있습니다. 1. Post Date Disable 플러그인 설치; 2. functions.php 파일에 코드를 추가합니다. 3. WP_Posts 테이블에서 Post_Modified 열을 수동으로 편집합니다.

WordPress로 자신의 테마를 만드는 방법 WordPress로 자신의 테마를 만드는 방법 Apr 20, 2025 am 11:18 AM

WordPress 테마 편집기를 사용하거나 사전 구축 된 테마, 테마 생성기와 같은 타사 도움말을 찾거나 개발자를 고용하여 자신의 WordPress 테마를 만들거나 사용자 정의 할 수 있습니다. 하위 주제를 사용하여 주제의 기본 사항을 이해하고, 변경 사항을 테스트하고 성능을 최적화함으로써 독특하고 효과적인 온라인 존재를 만들 수 있습니다.

WordPress에 오류가 있으면해야 할 일 WordPress에 오류가 있으면해야 할 일 Apr 20, 2025 am 11:57 AM

WordPress 오류 해상도 안내서 : 500 내부 서버 오류 : 플러그인을 비활성화하거나 서버 오류 로그를 확인하십시오. 404 페이지를 찾을 수 없습니다 : Permalink를 점검하고 페이지 링크가 올바른지 확인하십시오. 흰색 사망 화면 : 서버 PHP 메모리 제한을 늘리십시오. 데이터베이스 연결 오류 : 데이터베이스 서버 상태 및 WordPress 구성을 확인하십시오. 기타 팁 : 디버그 모드 활성화, 오류 로그 검사 및 지원을 찾으십시오. 오류 방지 : 정기적으로 WordPress를 업데이트하고 필요한 플러그인 만 설치하고 웹 사이트를 정기적으로 백업하고 웹 사이트 성능을 최적화하십시오.

WordPress 코드를 복사하는 방법 WordPress 코드를 복사하는 방법 Apr 20, 2025 pm 12:00 PM

WordPress 코드를 복사하는 방법? 관리자 인터페이스에서 복사 : WordPress 웹 사이트에 로그인하고 대상으로 이동하여 코드를 선택하고 CTRL C (Windows)/Command C (Mac)를 눌러 코드를 복사하십시오. 파일에서 복사 : SSH 또는 FTP를 사용하여 서버에 연결하고 테마 또는 플러그인 파일로 이동하고 코드를 선택하고 CTRL C (Windows)/Command C (Mac)를 눌러 코드를 복사하십시오.

See all articles