1

Gravity Forms 非表示フィールドにカスタム投稿タイプの用語名を自動入力しようとしています。以下のコードは、フィールドに「Array」という単語を返します。フィールドにカスタム投稿タイプのカテゴリや子の名前を入力する必要があります。

add_filter('gform_field_value_myparameter', 'populate_post_myparameter');
function populate_post_myparameter($value){
global $post;

$myparameter = wp_get_post_terms($post->ID, 'mytaxonomy', 'array("fields" => "names")');

return $myparameter;
}
4

2 に答える 2

0

wp_get_post_terms は、オブジェクトが 1 つしかない場合でも配列を返します。そのリストから最初の用語を取得するだけの場合 (投稿には複数のエントリがある可能性があります)、return $myparameter を return $myparameter[0]->name に変更します。

于 2013-04-16T15:40:32.320 に答える
0

ニックの答えに基づいて構築し、少し防弾を追加し、コードのタイプミスを修正すると、最終的なコードは次のようになります。

add_filter( 'gform_field_value_myparameter', 'populate_post_myparameter' );
function populate_post_myparameter( $value ) {
    global $post;

    $terms = wp_get_post_terms( $post->ID, 'mytaxonomy', array( 'fields' => 'names' ) );

    return $terms && ! is_wp_error( $terms ) ? $terms[0]->name : '';
}

コードを記述せずにこれを処理できるプラグインを探している場合は、Gravity Forms Populate Anythingを確認してください。

于 2019-04-24T15:08:48.660 に答える