get_post_custom_keys()


WordPressのget_post_custom_keys()関数は、指定された投稿のカスタムフィールドキーの一覧を取得するために使用されます。

シンタックス

get_post_custom_keys();

この関数は投稿に関連付けられたカスタムフィールドのキーを配列として返します。カスタムフィールドが存在しない場合、nullを返します。

使用例

例1: 投稿のカスタムフィールドキーを取得

現在の投稿に関連するカスタムフィールドキーを取得し、一覧表示します。

<?php
$keys = get_post_custom_keys();
if ( $keys ) {
    echo '<ul>';
    foreach ( $keys as $key ) {
        echo '<li><code>' . esc_html( $key ) . '</code></li>';
    }
    echo '</ul>';
} else {
    echo 'カスタムフィールドがありません。';
}
?>

例2: 特定の投稿IDのカスタムフィールドキーを取得

関数get_post()を使用して特定の投稿IDのキーを取得します。

<?php
$post_id = get_the_ID();
$keys = get_post_custom_keys( $post_id );
if ( $keys ) {
    echo '<ul>';
    foreach ( $keys as $key ) {
        echo '<li><code>' . esc_html( $key ) . '</code></li>';
    }
    echo '</ul>';
}
?>

例3: カスタムフィールドが存在するか確認

投稿にカスタムフィールドが存在するかを確認し、メッセージを表示します。

<?php
$keys = get_post_custom_keys();
if ( !empty( $keys ) ) {
    echo 'カスタムフィールドが存在します。';
} else {
    echo 'カスタムフィールドは存在しません。';
}
?>

例4: 投稿の特定のカスタムフィールドの値を取得

特定のキーの値を取得し、表示します。

<?php
$custom_keys = get_post_custom_keys();
if ( $custom_keys ) {
    foreach ( $custom_keys as $key ) {
        $values = get_post_meta( get_the_ID(), $key, false );
        echo '<h4><code>' . esc_html( $key ) . '</code></h4>';
        echo '<ul>';
        foreach ( $values as $value ) {
            echo '<li>' . esc_html( $value ) . '</li>';
        }
        echo '</ul>';
    }
}
?>

注意事項

  • get_post_custom_keys()関数はデータベースクエリを使用するため、効率的なコード設計を心がけてください。
  • カスタムフィールドが多い場合、実行速度に影響を与える可能性があります。

関連機能: