programing

WordPress의 URL에서 매개 변수 추출

golfzon 2023. 3. 5. 10:53
반응형

WordPress의 URL에서 매개 변수 추출

URL을 사용하여 WordPress 사이트에 매개 변수를 전달하려고 합니다. 예를 들어 다음과 같습니다.

www.fioriapts.com/?ppc=1URL이 됩니다.

함수에 함수를 쓸 생각입니다.php 파일이지만 WordPress에서 파라미터를 추출하는 방법은 제 능력 밖입니다.어떻게 할 수 있을까요?

함수를 사용하여 URL에 파라미터를 추가하는 방법에 대한 많은 예를 찾고 있습니다.add_query_arg()파라미터를 추출하는 방법을 찾지 못했습니다.

WordPress를 사용하면 어떨까요?get_query_var()기능하고 있습니까?WordPress 코드 참조

// Test if the query exists at the URL
if ( get_query_var('ppc') ) {

    // If so echo the value
    echo get_query_var('ppc');

}

get_query_var는 WP_Query에서 사용할 수 있는 쿼리 파라미터에만 액세스할 수 있으므로 'ppc'와 같은 커스텀 쿼리 변수에 액세스하려면 플러그인 또는 플러그인 내에서 이 쿼리 변수를 등록해야 합니다.functions.php초기화 중에 액션을 추가함으로써 다음과 같이 처리됩니다.

add_action('init','add_get_val');
function add_get_val() { 
    global $wp; 
    $wp->add_query_var('ppc'); 
}

또는 query_vars 필터에 후크를 추가하여 다음을 수행합니다.

function add_query_vars_filter( $vars ){
  $vars[] = "ppc";
  return $vars;
}
add_filter( 'query_vars', 'add_query_vars_filter' );

URL을 매개 변수를 전달하면 값을 GET 매개 변수로 검색할 수 있습니다.

사용방법:

$variable = $_GET['param_name'];

//Or as you have it
$ppc = $_GET['ppc'];

단, 먼저 변수를 확인하는 것이 안전합니다.

if (isset($_GET['ppc'])) {
  $ppc = $_GET['ppc'];
} else {
  //Handle the case where there is no parameter
}

다음은 GET/POST 파라미터에 대한 간단한 설명입니다.http://php.net/manual/en/reserved.variables.get.php

편집: 이 답변은 작성한 지 몇 년이 지난 후에도 여전히 많은 트래픽을 수신할 수 있습니다. 답변에 첨부된 코멘트를 읽어주세요.특히 WordPress 함수에 대한 자세한 내용은 @emc에서 입력해 주세요.

이 기능을 사용할 수 있습니다.

/**
 * Gets the request parameter.
 *
 * @param      string  $key      The query parameter
 * @param      string  $default  The default value to return if not found
 *
 * @return     string  The request parameter.
 */

function get_request_parameter( $key, $default = '' ) {
    // If not request set
    if ( ! isset( $_REQUEST[ $key ] ) || empty( $_REQUEST[ $key ] ) ) {
        return $default;
    }

    // Set so process it
    return strip_tags( (string) wp_unslash( $_REQUEST[ $key ] ) );
}

이 함수는 다음과 같습니다.

여기서 세 가지 일이 일어나고 있습니다.

  • 먼저 요청 키가 있는지 확인합니다.그렇지 않은 경우 기본값을 반환합니다.
  • 설정되어 있는 경우는 먼저 wp_unslash를 실행하여 슬래시를 삭제합니다.stripslashes_deep보다 좋은 이유를 읽어보십시오.
  • 그런 다음 간단한 strip_tags를 수행하여 값을 삭제합니다.파라미터에서 리치텍스트가 필요한 경우 wp_keses 또는 유사한 함수를 통해 실행합니다.

이 모든 정보와 함수의 이면에 있는 사고에 대한 자세한 내용은 다음 링크에서 확인할 수 있습니다.https://www.intechgrity.com/correct-way-get-url-parameter-values-wordpress/

콜백 함수에서는 $request 파라미터를 사용합니다.

$parameters = $request->get_params();
echo $parameters['ppc'];

언급URL : https://stackoverflow.com/questions/13652605/extracting-a-parameter-from-a-url-in-wordpress

반응형