Wordpress에서 홈 페이지를 검색하는 다른 방법은 무엇입니까?
워드프레스 홈페이지를 탐지하는 다른 방법은 무엇입니까?
제외하고is_front_page()
그리고.is_home()
감사해요.
is_front_page()
네가 원하는 거야
내 생각에, 사실로 미루어 볼 때is_home()
wp-admin 설정에 따라 홈페이지가 정지되어 있습니다.
is_home()
는 메인 블로그 페이지에서 true를 반환합니다.is_front_page()
는 피드 여부에 관계없이 어떤 페이지가 당신의 첫 페이지로 정의되어 있는지 true를 반환합니다.
Codex에서:
이 조건부 태그는 메인 페이지가 투고인지 페이지인지 확인합니다.이것은 부울 함수이며 TRUE 또는 FALSE 중 하나를 반환합니다.메인 블로그 페이지가 표시되고 [설정(Settings)]-> [읽기(Reading)]-> [앞 페이지(Front Page)]가 [최신 투고(Your latest posts)]으로 설정되어 있는 경우 또는 [정적 페이지(A static page)]로 설정되어 있는 경우 [앞 페이지(Front Page)]값이 표시되는 현재 페이지인 경우 TRUE가 반환됩니다.
다음 작업을 수행합니다.
if ( $_SERVER["REQUEST_URI"] == '/' ) { }
이 기능은 작동하며, 특히 다음과 같이 지나치게 복잡하지 않습니다.is_front_page()
그리고.is_home()
항상 기대했던 대로만 작동하지는 않습니다.
Twenty Ten과 함께 사용:
<?php
if ( $_SERVER["REQUEST_URI"] == '/' ) { ?>
<h1 class="site-title"><?php bloginfo( 'name' ); ?></h1>
<h2 class="site-description"><?php bloginfo( 'description' ); ?></h2>
<?php
} else { ?>
<p class="site-title"><?php bloginfo( 'name' ); ?></p>
<p class="site-description"><?php bloginfo( 'description' ); ?></p>
<?php } ?>
마법처럼 작동...$_SERVER는 제가 항상 사용하는 것으로 항상 작동합니다.
루프 외부에서:
if(get_option("page_on_front") == $post->ID){
//do front page stuff here
}
대부분의 경우 Wordpress 사이트에는 is_home과 is_frontpage가 REAL 홈페이지와 메인 블로그 페이지 모두에서 true로 평가됩니다.워드프레스에서 약 4년 동안 사이트를 구축한 후에도 여전히 신경이 쓰입니다.
예를 들어, 슬라이더나 다른 홈페이지 중심 요소를 포함한 최신 투고가 있는 사이트와 다른 블로그 페이지가 있는 경우 is_frontpage와 is_home은 모두 true로 평가됩니다.그래서 워드프레스는 적어도 대부분의 사람들이 웹사이트 홈페이지를 생각하는 것처럼 진정한 홈페이지를 위한 명확한 조건적 기능을 가지고 있지 않다.
그래서 저는 Liam의 말에 동의합니다.혼란스러운 상황에 처하게 되면 ($_SERVER[")와 같은 것입니다.REQUEST_URI"] == '/' ) { }
신뢰성이 높아집니다.
나를 위해.is_front_page()
그리고.is_home()
홈 페이지를 확인할 필요가 없기 때문에 대신 다음 조건을 씁니다.
global $wp;
$current_url = home_url(add_query_arg(array($_GET), $wp->request));
if ($current_url==get_site_url()) {
// code for homepage
}
이전 답변은 모두 분명 잘못된 답변도 있고, WP 홈페이지의 어느 위치(스택)에 있는지 알아야 하기 때문에 항상 작동하지 않는 답변도 있습니다.여기에서도 다른 곳에서도 유효한 답변을 찾을 수 없었기 때문에 어떤 이유로 인해 쿼리 문자열이 홈 URL에 추가되는 드문 경우를 제외하고 항상 작동하도록 이 작업을 수행합니다.이(매우 드문) 경우 코드를 약간 개선해야 하지만 일반적으로 다른 경우에서 오류가 발생할 수 있습니다.
if(!empty($_SERVER['REQUEST_URI']))
{
if(substr($_SERVER['REQUEST_URI'], -1, 1) == '/'){
$REQUEST_URI = substr($_SERVER['REQUEST_URI'], 0, -1);
}
$siteUrl = get_option('siteurl');
if(substr($siteUrl, -1, 1) == '/'){
$siteUrl = substr($siteUrl, 0, -1);
}
if(!empty($REQUEST_URI)){
$r = strpos($siteUrl, $REQUEST_URI);
if($r !== false)
{ $HOMEPAGE = true; }
} elseif ( $_SERVER['REQUEST_URI'] == '/' OR empty($REQUEST_URI) ){ $HOMEPAGE = true; }
}
var_dump($HOMEPAGE);
어떤 변종이라도 좋아
[EDITED] 글로벌 $_SERVER['] 변경 안 함REQUEST_URI' 값
is_home()
가는 길이에요.
이 방법을 써 보았는데 효과가 없어요?그렇다면 보통 mod_rewrite 설정 또는 워드프레스 설정 자체와 관련이 있습니다.
언급URL : https://stackoverflow.com/questions/4920736/what-are-the-different-ways-to-detect-home-page-in-wordpress
'programing' 카테고리의 다른 글
JSON.net: 기본 컨스트럭터를 사용하지 않고 역직렬화하려면 어떻게 해야 합니까? (0) | 2023.02.11 |
---|---|
jQuery. 이해 시 (0) | 2023.02.11 |
Angular Js에게 특정 루트를 무시하도록 지시하는 방법 (0) | 2023.02.11 |
WordPress가 /temes/ 폴더에서 테마를 인식하지 못함 (0) | 2023.02.11 |
Angular에서 $resource 서비스 오류를 처리하는 방법JS (0) | 2023.02.11 |