나는 그 사람이 어떤 페이지에서 왔는지에 따라 내 페이지에 무언가를 말하고 싶습니다. 해당 페이지에 대한 링크를 다음과 같이 설정할 수 있습니다.
www.example.com/page?parameter=myparameter
해당 매개 변수에 액세스하여 내 컨텐츠 어딘가에 페이지에 표시 할 수있는 방법이 있습니까?
나는 그 사람이 어떤 페이지에서 왔는지에 따라 내 페이지에 무언가를 말하고 싶습니다. 해당 페이지에 대한 링크를 다음과 같이 설정할 수 있습니다.
www.example.com/page?parameter=myparameter
해당 매개 변수에 액세스하여 내 컨텐츠 어딘가에 페이지에 표시 할 수있는 방법이 있습니까?
답변:
PHP 세션을 사용하거나 요청에 대한 쿼리 객체를 찾거나 URL과 함께 $ _GET을 사용할 수 있지만 민감한 정보는 아닙니다.
이 같은;
URL에서 여행 이름을 가져옵니다
$tripname = $_GET['tripname'];
제목에 사용하십시오.
if(isset($tripname)) echo '<h1>Plan Your Trip To ' .$tripname. '</h1>';
질문에 대한 OP의 답변에 따라 :
귀하의 도움과 일부 인터넷 검색을 통해 모든 URL 매개 변수의 값을 반환하는 짧은 코드를 작성했습니다. 여기있어:
//THIS IS A CUSTOM SHORTCODE TO DISPLAY A PARAMETER FROM THE URL
function URLParam( $atts ) {
extract( shortcode_atts( array(
'param' => 'param',
), $atts ) );
return $_GET[$param];
}
add_shortcode('URLParam', 'URLParam');
다음과 같은 단축 코드를 사용하여 trip_type
URL 을 가져옵니다 .
[URLParam param='trip_type']
이것을 달성하는 또 다른 좋은 방법이 있습니다. 여기에는 단축 코드가 필요하지 않으며 매개 변수 "trip"이있는 곳에 만든 각 페이지를 자동으로 업데이트합니다!
1) 테마 폴더로 이동하여 functions.php 를여십시오 (또는없는 경우 작성하십시오)
2) 다음 코드를 추가하고 저장하십시오.
<?php
add_filter( 'the_content', 'my_trip_filter' );
function my_trip_filter( $content ) {
if ( isset($_REQUEST['trip']) && is_single() ) {
$content = "<h1>Fill out this form to register for the " . $_REQUEST['trip'] . " trip</h1>" . $content;
}
return $content;
}
?>
이 코드는 the_content 필터를 사용하여 the_content () 함수를 사용하여 블로그 정보를 인쇄 할 때마다 대체 합니다. 요청 된 페이지가 아카이브가 아닌 단일 페이지 / 포스트인지 여부를 감지합니다. 추가 논리 또는 재정의를 추가 할 수 있습니다. $ content 를 반환 하면 원하는 메시지가 화면에 표시됩니다.
즐겨!