2017-08-31 18 views
0

私はACF(高度なカスタムフィールド)を使用するWordPressウェブサイトを持っています。私は2つのカスタム選択フィールドを持っています。これらのフィールドは、ユーザーが投稿で選択できるようにします。これらのフィールドは「作成者」と「エディター」と呼ばれます。WordPress拡張カスタムフィールド(ACF)が保存されません

このサイトには約5,000の投稿があり、カスタムフィールドが表示されていてもサイトの古い投稿の一部にカスタム '著者'と '編集者'フィールドがサイトのフロントエンドに引き込まれていません投稿編集画面で正しく設定してください。

個別の投稿に行って再保存/更新すると、カスタムフィールドが正常に表示され、サイトのフロントエンドに引き込まれます。残念ながら、投稿の一括編集と再保存/更新は、投稿を修正するのと同じ効果はないようです。私は5000の投稿を持っているので、それぞれを個別に再保存/更新することは実際には実行可能ではありません。

更新:Stenderのコメントに記載されているリンクの指示をすでに試していましたが、手動で1つのポストを更新するのと同じ方法でACFフィールドのデータを更新するようには見えません。 wp_update_post()を使用するのではなく、手動のメソッドで何か別のことが起きますか?

カスタムフィールドがフロントエンドに一括して引き渡されていない投稿を修正する方法はありますか?

さらに詳しい情報が必要な場合や質問がある場合は、お気軽にお問い合わせください。

+0

投稿を更新/再保存するので、この質問の回答に従うことができます。https://stackoverflow.com/questions/7917725/update-all-wordpress-posts – Stender

+0

こんにちはStender、ご意見ありがとうございます。残念ながら、私はこれを既に試してみましたが、投稿を更新してもカスタムフィールドを保存/更新していないようです... – Matthew

答えて

0

ACFカスタムフィールドデータは実際には正しく保存されていますが、何らかの理由でACF関数get_field()が確実にデータを取り込んでいないことが判明しました。それは影響を受ける古い投稿のように見えますが、私はその正確な原因がわかりません。 (古い投稿がインポートされている可能性がありますが、私は100%確信していません)

とにかく、私は最後に、WordPressの独自の関数を使用してメタデータ/カスタムフィールドを取得しています:get_post_meta()。もう少し複雑なコードが含まれていますが、今は私のために働きます。

どうもありがとうございました。

0

ACF(post_meta)フィールドを一括更新する方法については、blog postが見つかりました。

function mass_update_posts() { 

    $args = array(
     'post_type'=>'post-type', 
     'posts_per_page' => -1 
    ); 

    $my_posts = get_posts($args); 

    foreach($my_posts as $key => $my_post) { 
     $meta_values = get_post_meta($my_post->ID); 

     foreach($meta_values as $meta_key => $meta_value) { 
      update_field($meta_key, $meta_value[0], $my_post->ID); 
     } 
    } 
} 

initにフックすると、この機能を呼び出すことができます。

add_action('init', 'mass_update_posts'); 

私はアクションと機能を追加し、ウェブサイトを一度読み込んだ後、再度読み込まないようにコメントアウトします。

+0

こんにちはJacob、私はブログ記事を見つけて、これは、保存/保存していないカスタムフィールドの問題を修正するようにも見えません。だから私はまだ立ち往生しています... :-( – Matthew

関連する問題