web-dev-qa-db-ja.com

高度なカスタムフィールドでのカスタム機能の使用

私はネイティブのWordPressカスタムフィールド関数と連携するカスタム関数を書きましたが、Advanced Custom Fieldsプラグインと連携するために必要です。

プラグインを使用してカスタムフィールドとメタボックスを作成し、子テーマのfunctions.phpファイルに関数を追加しました。

カスタム関数のメタボックスにフィールド名(demo_field)を使用していますが、メタボックスが関数にフックインしていません。

add_action( 'genesis_after_post_content', 'custom_field_before_content' );
function custom_field_before_content() {
  if(is_single() ) {
    genesis_custom_field('demo_field');
  }
}

何がおかしいのですか?

わかりました私はそれを修正しました、しかし、私がimageオブジェクトのために値を返すように設定を構成したとしてもそれはimageを返しません。

画像のHTMLが表示されます。

add_action( 'genesis_after_post_title', 'custom_field_before_content' );
function custom_field_before_content() {
if(is_single() ) {
the_field('second_image');
  }
}

表示内容は次のとおりです。

32538、、2番目の機能画像、、、/wp-content/uploads/2013/06/second-feature-image.png、600、300、Array

これが私が試したGenesisだけで動作する最終的な解決策です。フックで他のテーマを使用している場合は、フックを変更できます。

add_action( 'genesis_after_post_title', 'custom_field_before_content' );
function custom_field_before_content() {
if(is_single() ) 
if( get_field('second_image') ):
?><img src="<?php the_field('second_image'); ?>" alt="" /><?php
endif;

}

コードはACF Webサイトから来ています。 http://www.advancedcustomfields.com/resources/field-types/image/

2
Haymanpl

なぜgenesis_custom_field()を使っているのですか。高度なカスタムフィールドには独自の出力機能があります。 demo_fieldをエコーし​​たい場合は関数the_field('demo_field');を使用できます。あるいは値を使用するか変数として保存したい場合は$demo = get_field('demo_field');を使用できます。

1
Ashraf Slamang

私はこれを永遠に理解しようとしています!完璧な解決策、Ashraf。

私のような他の初心者を明確にするために... Advanced Custom Fieldsダッシュボードに行き、 'Return Value'と書かれているところを編集してください。オブジェクトまたはIDの代わりに[画像URL]のラジオボタンを選択します。それは創世記で完璧に機能します。これが私の画像フィールド 'rating_award_2'に使用しているコードです。

add_action('genesis_sidebar', 'rating_award_2');

function rating_award_2() {
if(is_single() ) 
if( get_field('rating_award_2') ):
?><img src="<?php the_field('rating_award_2'); ?>" alt="" /><?php
endif;
}
0
user55013