0

投稿を編集するときに、「注目の画像」メタボックスにオプションを追加しています。メタボックス内から、投稿 ID にアクセスする必要があります。これは、post.php が最初にロードされるときに正常に機能します。ただし、「注目の画像を選択」または「注目の画像を削除」すると、メタボックスがリロードされるときに投稿 ID が (静的なホームページ ID に) 変更されます。

アイキャッチ画像ボックスに投稿 ID を表示するコードを次に示します。

add_filter( 'admin_post_thumbnail_html', 'add_options_to_featured_image' );
function add_options_to_featured_image( $html ){
    global $post;

    $html .= '<label>Post '.$post->ID.'</label>';

    return $html;
}

これらは、私が見ているものを再現する手順です:

  1. 投稿を編集する
  2. 投稿 ID が正しいことに注意してください (例: 7)
  3. 「アイキャッチ画像を選択」をクリックして画像を選択
  4. メタボックスが更新され、選択した画像が表示されます
  5. 投稿 ID が正しくないことに注意してください (静的なフロント ページの ID)。

私の質問: アイキャッチ画像メタボックス内から編集中のページの ID を一貫して取得するにはどうすればよいですか? 私はjavascriptを避けたいと思います。

4

1 に答える 1

1

注目の画像メタボックス内から編集中のページの ID を一貫して取得するにはどうすればよいですか?

function次のように、2 つの引数を受け入れるように を設定します。

add_filter( 'admin_post_thumbnail_html', 'add_options_to_featured_image', 10, 2 );
function add_options_to_featured_image( $html, $post_id ){
    $html .= '<label>Post '.$post_id.'</label>';

    return $html;
}

詳細については、 https://developer.wordpress.org/reference/hooks/admin_post_thumbnail_html/を参照してください。

于 2018-03-02T04:27:10.253 に答える