모든 게시 메타 키 및 동일한 게시 ID의 메타 값을 워드프레스로 표시합니다.
투고 메타값과 투고 메타키를 표시하려고 합니다만, 1개의 값만 표시한다면 간단한 함수 get_post_meta()를 사용할 수 있지만, 지금 필요한 것은 같은 post_id를 가진 모든 투고 메타데이터를 투고하는 것입니다.Foreach 루프를 사용해 봤지만 아무것도 표시되지 않습니다.제 코드를 확인해 주시겠어요?
function wpt_calendar_display()
{
global $post;
$columns = array(
'date_event' => 'Date',
'name_event' => 'Event'
);
register_column_headers('list-header_events', $columns);
$event_name = get_post_meta( $post->ID, '_event_name' );
// $event_date = get_post_meta( $post->ID, '_event_date', false );
$return .= "<table class=\"widefat\">";
$return .= "<tr>";
$return .= print_column_headers('list-header_events');
$return .= "</tr>";
$return .= "<tr>";
if (!empty($event_name))
foreach($event_name as $e_name)
{
$return .= "<td>";
$return .= $e_name;
$return .="</td>";
}
$return .= "<td>";
$return .= "</td>";
$return .= "</tr>";
$return .= "</table>";
return $return;
}
디폴트 사용방법
모든 키에 대한 메타 가져오기:
<?php $meta = get_post_meta($post_id); ?>
단일 키에 대한 메타 가져오기:
<?php $key_1_values = get_post_meta( 76, 'key_1' ); ?>
예를 들어 다음과 같습니다.
$myvals = get_post_meta($post_id);
foreach($myvals as $key=>$val)
{
echo $key . ' : ' . $val[0] . '<br/>';
}
주의: "underscore(_)"로 시작하는 불필요한 메타 키도 있으므로 필터링해야 합니다.
참조용:「Codex」
모든 행을 가져오려면 키를 지정하지 마십시오.이것을 시험해 보세요.
$meta_values = get_post_meta( get_the_ID() );
var_dump( $meta_values );
도움이 됐으면 좋겠다!
$myvals = get_post_meta( get_the_ID());
foreach($myvals as $key=>$val){
foreach($val as $vals){
if ($key=='Youtube'){
echo $vals
}
}
}
Key = Youtube 동영상의 모든 메타 키와 가치
2020년 1월 및 WordPress v5.3.2를 기준으로 아래가 정상임을 확인합니다.
필드 키와 그에 상응하는 밑줄 키도 포함되지만, 코드로 키를 적절히 "enum"하면 문제가 없을 것입니다.
$meta_values = get_post_meta( get_the_ID() );
$example_field = meta_values['example_field_key'][0];
//OR if you do enum style
//(emulation of a class with a list of *const* as enum does not exist in PHP per se)
$example_field = meta_values[PostTypeEnum::FIELD_EXAMPLE_KEY][0];
처럼print_r(meta_values);다음과 같은 기능이 있습니다.
Array
(
[_edit_lock] => Array
(
[0] => 1579542560:1
)
[_edit_last] => Array
(
[0] => 1
)
[example_field] => Array
(
[0] => 13
)
)
그게 도움이 됐으면 좋겠는데, 가서 소란을 피워!
메타박스 형태로 사용합니다.여기에 모든 메타데이터의 값을 덤프하여 게시하는 기능이 있습니다.
function dump_all_meta(){
echo "<h3>All Post Meta</h3>";
// Get all the data.
$getPostCustom=get_post_custom();
foreach( $getPostCustom as $name=>$value ) {
echo "<strong>".$name."</strong>"." => ";
foreach($getPostCustom as $name=>$value) {
echo "<strong>".$name."</strong>"." => ";
foreach($value as $nameAr=>$valueAr) {
echo "<br /> ";
echo $nameAr." => ";
echo var_dump($valueAr);
}
echo "<br /><br />";
}
} // Callback funtion ended.
도움이 됐으면 좋겠다.메타 박스 내 또는 프론트 엔드에서 사용할 수 있습니다.
WordPress에는 get_metadata 함수가 있습니다.이 함수는 오브젝트의 모든 메타데이터를 가져옵니다(Post, term, user...).
그냥 사용하다
get_metadata( 'post', 15 );
언급URL : https://stackoverflow.com/questions/22216276/display-all-post-meta-keys-and-meta-values-of-the-same-post-id-in-wordpress
'programing' 카테고리의 다른 글
| C# 어나니머스 타입을 JSON 문자열로 시리얼화하려면 어떻게 해야 하나요? (0) | 2023.03.15 |
|---|---|
| 스프링 데이터 jpa에서 투영 및 사양을 사용하는 방법 (0) | 2023.03.15 |
| ng-repeat, ng-show(각도)를 사용하여 동적으로 생성된 입력을 검증하는 방법 (0) | 2023.03.15 |
| Oracle 데이터베이스에 부울 유형이 있습니까? (0) | 2023.03.15 |
| Angular ng-repeat에서 다음 2개 항목마다 행 만들기 - 이온 그리드 (0) | 2023.03.15 |