123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- <?php
- /////////////// Media URL (Custom Field - media) /////////////////
- function dw_guten_register_media_meta() {
- register_meta('post', 'media', array(
- 'show_in_rest' => true,
- 'type' => 'string',
- 'single' => true,
- 'sanitize_callback' => 'sanitize_text_field',
- 'auth_callback' => function() {
- return current_user_can('edit_posts');
- }
- ));
- }
- add_action('init', 'dw_guten_register_media_meta');
- function dw_guten_add_media_meta_box() {
- add_meta_box(
- 'dw_guten_post_options_metabox',
- 'Post Options',
- 'dw_guten_post_options_metabox_html',
- 'post',
- 'normal',
- 'default',
- array('__back_compat_meta_box' => true)
- );
- }
- add_action( 'add_meta_boxes', 'dw_guten_add_media_meta_box' );
- function dw_guten_post_options_metabox_html($post) {
- $field_value = get_post_meta($post->ID, 'media', true);
- wp_nonce_field( 'dw_guten_update_post_metabox', 'dw_guten_update_post_nonce' );
- ?>
- <p>
- <label for="dw_guten_media_metafield"><?php esc_html_e( 'Media URL', 'textdomain' ); ?></label>
- <br />
- <input class="widefat" type="text" name="dw_guten_media_metafield" id="dw_guten_media_metafield" value="<?php echo esc_attr( $field_value ); ?>" />
- </p>
- <?php
- }
- function dw_guten_save_post_metabox($post_id, $post) {
- $edit_cap = get_post_type_object( $post->post_type )->cap->edit_post;
- if( !current_user_can( $edit_cap, $post_id )) {
- return;
- }
- if( !isset( $_POST['dw_guten_update_post_nonce']) || !wp_verify_nonce( $_POST['dw_guten_update_post_nonce'], 'dw_guten_update_post_metabox' )) {
- return;
- }
- if(array_key_exists('dw_guten_media_metafield', $_POST)) {
- update_post_meta(
- $post_id,
- 'media',
- sanitize_text_field($_POST['dw_guten_media_metafield'])
- );
- }
- }
- add_action( 'save_post', 'dw_guten_save_post_metabox', 10, 2 );
- ///////// Feature Img URL (Custom Field - featured_image_url) ////////////
- function dw_guten_register_featured_image_url_meta() {
- register_meta('post', 'featured_image_url', array(
- 'show_in_rest' => true,
- 'type' => 'string',
- 'single' => true,
- 'sanitize_callback' => 'sanitize_text_field',
- 'auth_callback' => function() {
- return current_user_can('edit_posts');
- }
- ));
- }
- add_action('init', 'dw_guten_register_featured_image_url_meta');
- function dw_guten_add_featured_image_url_meta_box() {
- add_meta_box(
- 'dw_guten_post_options_metabox',
- 'Post Options',
- 'dw_guten_post_options_metabox_featured_image_url',
- 'post',
- 'normal',
- 'default',
- array('__back_compat_meta_box' => true)
- );
- }
- add_action( 'add_meta_boxes', 'dw_guten_add_featured_image_url_meta_box' );
- function dw_guten_post_options_metabox_featured_image_url($post) {
- $field_value = get_post_meta($post->ID, 'featured_image_url', true);
- wp_nonce_field( 'dw_guten_update_post_metabox_featured_image_url', 'dw_guten_update_post_nonce' );
- ?>
- <p>
- <label for="dw_guten_featured_image_url_metafield"><?php esc_html_e( 'Featured Image URL', 'textdomain' ); ?></label>
- <br />
- <input class="widefat" type="text" name="dw_guten_featured_image_url_metafield" id="dw_guten_featured_image_url_metafield" value="<?php echo esc_attr( $field_value ); ?>" />
- </p>
- <?php
- }
- function dw_guten_save_post_metabox_featured_image_url($post_id, $post) {
- $edit_cap = get_post_type_object( $post->post_type )->cap->edit_post;
- if( !current_user_can( $edit_cap, $post_id )) {
- return;
- }
- if( !isset( $_POST['dw_guten_update_post_nonce_featured_image_url']) || !wp_verify_nonce( $_POST['dw_guten_update_post_nonce_featured_image_url'], 'dw_guten_update_post_metabox_featured_image_url' )) {
- return;
- }
- if(array_key_exists('dw_guten_media_metafield', $_POST)) {
- update_post_meta(
- $post_id,
- 'featured_image_url',
- sanitize_text_field($_POST['dw_guten_featured_image_url_metafield'])
- );
- }
- }
- add_action( 'save_post', 'dw_guten_save_post_metabox_featured_image_url', 10, 2 );
- /////////////// Meta Description (Custom Field - meta_desc) /////////////////
- function dw_guten_register_desc_meta() {
- register_meta('post', 'meta_desc', array(
- 'show_in_rest' => true,
- 'type' => 'string',
- 'single' => true,
- 'sanitize_callback' => 'sanitize_text_field',
- 'auth_callback' => function() {
- return current_user_can('edit_posts');
- }
- ));
- }
- add_action('init', 'dw_guten_register_desc_meta');
- function dw_guten_add_desc_meta_box() {
- add_meta_box(
- 'dw_guten_post_options_metabox',
- 'Post Options',
- 'dw_guten_post_options_metabox_desc',
- 'post',
- 'normal',
- 'default',
- array('__back_compat_meta_box' => true)
- );
- }
- add_action( 'add_meta_boxes', 'dw_guten_add_desc_meta_box' );
- function dw_guten_post_options_metabox_desc($post) {
- $field_value = get_post_meta($post->ID, 'media', true);
- wp_nonce_field( 'dw_guten_update_post_metabox_desc', 'dw_guten_update_post_nonce' );
- ?>
- <p>
- <label for="dw_guten_desc_metafield"><?php esc_html_e( 'Meta Excerpt', 'textdomain' ); ?></label>
- <br />
- <input class="widefat" type="text" name="dw_guten_desc_metafield" id="dw_guten_desc_metafield" value="<?php echo esc_attr( $field_value ); ?>" />
- </p>
- <?php
- }
- function dw_guten_save_post_metabox_desc($post_id, $post) {
- $edit_cap = get_post_type_object( $post->post_type )->cap->edit_post;
- if( !current_user_can( $edit_cap, $post_id )) {
- return;
- }
- if( !isset( $_POST['dw_guten_update_post_nonce_desc']) || !wp_verify_nonce( $_POST['dw_guten_update_post_nonce_desc'], 'dw_guten_update_post_metabox_desc' )) {
- return;
- }
- if(array_key_exists('dw_guten_desc_metafield', $_POST)) {
- update_post_meta(
- $post_id,
- 'meta_desc',
- sanitize_text_field($_POST['dw_guten_desc_metafield'])
- );
- }
- }
- add_action( 'save_post', 'dw_guten_save_post_metabox_desc', 10, 2 );
|