ARCHIVE

※test03.pwamapより予約投稿コードを移築してテストする

ACFでdraft変更が下書きに入らないエラー:とりあえず下書き全て取得

  • いったん予約投稿から公開になった後に下書き状態にした投稿
  • 公開から予約投稿になった投稿は予約順番待ちに表示される
  • Draft Post Listのリスト取得に問題あり>ACFのscheduled_publish_date値?
    • 初期の値がない、functionsで値がクリアされてない。この2つに対応?。

緑=新しいテスト

acf_formのコード(これでACFでstatusがdraftで登録):

  • ACFでstatus初期設定をdraftに&statusフィールドを新規作成画面のみCSSで非表示
  • acf_formは次のとおり※表示するACFフィールド(fields)にstatus設定
  • 新規投稿でACFのステータスがdraftにならない>コード変更
  • 大切;次のいずれも予約値ない下書き取得はできない(除く新規)
    • ①pwamp.takelets(’compare’ => ‘NOT EXISTS’)
    • ②test03.pwamap(’value’ => ”)
acf_form(array(
  'post_id' => 'new_post', // 新規投稿
  'post_title' => true, // タイトルあり
  'post_content' => true, // 本文あり
  'new_post' => array(
    'post_type' => 'post', // 投稿タイプ
    'post_status' => 'draft' // 下書き 、公開は 'publish'
  ),
'submit_value' => 'Create a draft', // Draftを作成する
'fields' => array('featured_image', 'post_category', 'status'), // 表示するACFフィールドを指定
));

一覧での下書き表示(※一部変更で正常表示):

  • なぜかドラフト一覧は次のコードで動く
$args = array(
  'post_type' => 'post', // 投稿タイプ
  'post_status' => 'draft', // ステータスが下書き
  'posts_per_page' => -1, // すべての投稿を取得
  'meta_query' => array(
    'relation' => 'AND', // 複数のメタクエリをAND条件で結合
    array(
      'key' => 'status', // ACFフィールド status
      'value' => 'draft', // 値が draft
    ),
    array(
      'key' => 'scheduled_publish_date', // ACFフィールド scheduled_publish_date
      'compare' => 'NOT EXISTS', // 値が存在しない※なぜかこれで動く
    ),
  ),
  'orderby' => 'date', // 日付で並び替え
  'order' => 'DESC', // 降順
);