Grid Builder Visual Composer에서 변수의 게시 ID 가져오기
커스텀 그리드 빌더 내에 커스텀 필드를 가져오려고 합니다.몇 가지 분류법을 추가했으며 표시할 사용자 지정 데이터를 추가하려고 합니다.당신의 기사 https://kb.wpbakery.com/docs/developers-how-tos/adding-custom-shortcode-to-grid-builder/을 읽었습니다.이 기사를 실장할 때 현재 투고 ID를 취득하려고 하면 문제가 발생합니다.코드는 다음과 같습니다.
add_shortcode( 'vc_post_id', 'vc_post_id_render' );
function vc_post_id_render() {
return '<h2>{{ post_data:ID }}</h2>'; // usage of template variable post_data with argument "ID"
}
문제는 {{post_data:ID }}을(를) 변수에 저장하여 나중에 게시물을 가져와 사용할 수 없습니다.
$post_id = '{{ post_data:ID }}';
$post = get_post($post_id);
실패할 것이기 때문에커스텀 데이터를 그리드에 표시할 수 있도록 현재의 포스트 ID를 변수로 취득하는 방법을 가르쳐 주시겠습니까?
정말 감사합니다.
좋아요, 제 생각은 이렇습니다.제 시나리오에서는 가격이라는 커스텀 필드가 있습니다.그래서 가격을 보여줄 수 있었다.
{{ post_data:price }}
이거요. 그런데 변수에 할당하려다 실패했어요.변수를 var_dump하면 매번 (21)자가 표시됩니다.그래서 눈에 보이지 않는 캐릭터들이 있을 것 같아서
echo bin2hex($price)
결과는 7b7b20706f73745f646174613a70726965207d7d입니다.
ASCII에서 텍스트로 변환한 결과, 이렇게 되었습니다.
{{ post_data:price }}
그러다 깨달았어요.아, 바보같다.이것들은 템플릿태그입니다.똑똑하거나 각진 느낌으로.페이지가 로드되면 값을 주입했습니다.따라서 PHP는 모든 것이 클라이언트 측에서 이루어지기 때문에 가치를 얻을 기회가 없습니다.
vc_gitem_syslog_syslog_를 작성해야 합니다.YOUR_Attribute는 다음과 같이 ID를 취득할 수 있습니다.
add_filter( 'vc_gitem_template_attribute_producer_logo', 'vc_gitem_template_attribute_producer_logo', 10, 2 );
function vc_gitem_template_attribute_producer_logo( $value, $data ) {
extract( array_merge( array(
'post' => null,
'data' => '',
), $data ) );
$termini = get_the_terms( $post->ID, 'producer' );
$logo = get_field('prlogo', $termini[0]);
$image = '<img class="img-prod" src="' . $logo . '">';
return $image;
}
및 렌더링
add_shortcode( 'producer_logo', 'vc_producer_logo_render' );
function vc_producer_logo_render($atts, $content, $tag) {
return '{{producer_logo}}';
}
언급URL : https://stackoverflow.com/questions/43318982/get-post-id-in-variable-in-grid-builder-visual-composer
'source' 카테고리의 다른 글
Typescript-Interface/Type-definition을 스터브하는 방법 (0) | 2023.02.17 |
---|---|
올바른 URL을 전달하려면 어떻게 해야 합니까?추가 앰퍼 및 문제 없이 JQuery 메서드에 대한 조치? (0) | 2023.02.17 |
AngularJS 지시 전달 문자열 (0) | 2023.02.17 |
WP_Widget의 호출된 컨스트럭터 메서드는 버전 4.3.0 이후 사용되지 않습니다. (0) | 2023.02.17 |
다이렉티브 테스트에서 $140 대 $140 (0) | 2023.02.17 |