metabox.php 1019 B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. /**
  3. * Register the post meta exposed in the block-editor "Post Meta" sidebar.
  4. *
  5. * media -> OpenGraph og:video URL (emitted in theme inc/tweaks.php)
  6. * featured_image_url -> OpenGraph og:image URL (fallback when no thumbnail)
  7. * meta_desc -> meta name="description" (theme dw_meta_desc)
  8. *
  9. * show_in_rest is required so the values are editable from the block editor.
  10. */
  11. defined( 'ABSPATH' ) || exit;
  12. function dw_guten_register_meta() {
  13. $fields = array(
  14. 'media' => 'esc_url_raw',
  15. 'featured_image_url' => 'esc_url_raw',
  16. 'meta_desc' => 'sanitize_textarea_field',
  17. );
  18. foreach ( $fields as $key => $sanitize ) {
  19. register_post_meta( 'post', $key, array(
  20. 'show_in_rest' => true,
  21. 'single' => true,
  22. 'type' => 'string',
  23. 'sanitize_callback' => $sanitize,
  24. 'auth_callback' => function () {
  25. return current_user_can( 'edit_posts' );
  26. },
  27. ) );
  28. }
  29. }
  30. add_action( 'init', 'dw_guten_register_meta' );