Making WordPress.org


Ignore:
Timestamp:
12/05/2022 08:03:18 PM (3 years ago)
Author:
adamwood
Message:

Learn: Sync with git WordPress/learn@f733fc3

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/inc/post-meta.php

    r12276 r12299  
    1717add_action( 'add_meta_boxes', __NAMESPACE__ . '\add_lesson_plan_metaboxes' );
    1818add_action( 'add_meta_boxes', __NAMESPACE__ . '\add_workshop_metaboxes' );
     19add_action( 'add_meta_boxes', __NAMESPACE__ . '\add_meeting_metaboxes' );
    1920add_action( 'save_post_lesson-plan', __NAMESPACE__ . '\save_lesson_plan_metabox_fields' );
    2021add_action( 'save_post_wporg_workshop', __NAMESPACE__ . '\save_workshop_metabox_fields' );
     22add_action( 'save_post_meeting', __NAMESPACE__ . '\save_meeting_metabox_fields' );
    2123add_action( 'admin_footer', __NAMESPACE__ . '\render_locales_list' );
    2224add_action( 'enqueue_block_editor_assets', __NAMESPACE__ . '\enqueue_editor_assets' );
     
    386388
    387389/**
     390 * Add meta boxes to the Edit Meeting screen.
     391 */
     392function add_meeting_metaboxes( $post_type = '' ) {
     393    add_meta_box(
     394        'meeting-language',
     395        __( 'Language', 'wporg_learn' ),
     396        __NAMESPACE__ . '\render_metabox_meeting_language',
     397        'meeting',
     398        'side'
     399    );
     400}
     401
     402/**
    388403 * Render the Workshop Details meta box.
    389404 *
     
    443458
    444459/**
     460 * Render the Meeting Language meta box.
     461 *
     462 * @param WP_Post $post
     463 */
     464function render_metabox_meeting_language( WP_Post $post ) {
     465    $locales  = get_locales_with_english_names();
     466    $language = get_post_meta( $post->ID, 'language', true ) ?: '';
     467
     468    require get_views_path() . 'metabox-meeting-language.php';
     469}
     470
     471/**
    445472 * Update the post meta values from the meta box fields when the post is saved.
    446473 *
     
    495522        }
    496523    }
     524}
     525
     526/**
     527 * Update the post meta values from the meta box fields when a meeting post is saved.
     528 *
     529 * @param int $post_id
     530 */
     531function save_meeting_metabox_fields( $post_id ) {
     532    if ( wp_is_post_revision( $post_id ) || ! current_user_can( 'edit_post', $post_id ) ) {
     533        return;
     534    }
     535
     536    // This nonce field is rendered in the Meeting Language metabox.
     537    $nonce = filter_input( INPUT_POST, 'meeting-metabox-nonce' );
     538    if ( ! wp_verify_nonce( $nonce, 'meeting-metaboxes' ) ) {
     539        return;
     540    }
     541
     542    $language = filter_input( INPUT_POST, 'meeting-language' );
     543    update_post_meta( $post_id, 'language', $language );
     544
    497545}
    498546
Note: See TracChangeset for help on using the changeset viewer.