programing

Wordpress에서 홈 페이지를 검색하는 다른 방법은 무엇입니까?

procenter 2023. 2. 11. 17:27
반응형

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

반응형