Пример #1
0
/**
 * Sanitizes and Validates a Team Member post id.
 *
 * @param int $value The post id to sanitize and validate as a team member.
 *
 * @return int|string The sanitized and valid team member post id, or an empty string if false.
 */
function sanitize_team_member_id($value)
{
    $value = intval($value);
    if (0 >= $value) {
        return '';
    }
    if (get_team_members_post_type_name() !== get_post_type($value)) {
        return '';
    }
    return $value;
}
/**
 * Enqueues the FZ Project meta styles.
 */
function enqueue_team_member_styles()
{
    $screen = get_current_screen();
    if (get_team_members_post_type_name() !== $screen->post_type) {
        return;
    }
    if ('post' !== $screen->base) {
        return;
    }
    $min = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '.min' : '';
    wp_enqueue_style('fz-project-meta', FZP_URL . "/assets/css/fz-project-meta{$min}.css", array(), FZP_VERSION);
}
/**
 * Save the Team Member Meta Fields
 *
 * @param int $post_id The ID of the post we're saving meta for.
 */
function save_team_member_meta($post_id)
{
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
        return;
    }
    if (get_team_members_post_type_name() !== get_post_type($post_id)) {
        return;
    }
    if (!isset($_POST['fz_team_member_nonce']) || !wp_verify_nonce($_POST['fz_team_member_nonce'], 'fz_team_member_meta')) {
        return;
    }
    if (!current_user_can('edit_post', $post_id)) {
        return;
    }
    $title_key = get_team_member_title_meta_key();
    if (!empty($_POST[$title_key])) {
        update_post_meta($post_id, $title_key, $_POST[$title_key]);
    } else {
        delete_post_meta($post_id, $title_key);
    }
}
/**
 * Save the Team Member Meta Fields
 *
 * @param int $post_id The ID of the post we're saving meta for.
 */
function save_team_member_meta($post_id)
{
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
        return;
    }
    if (get_team_members_post_type_name() !== get_post_type($post_id)) {
        return;
    }
    if (!isset($_POST['fz_team_member_nonce']) || !wp_verify_nonce($_POST['fz_team_member_nonce'], 'fz_team_member_meta')) {
        return;
    }
    if (!current_user_can('edit_post', $post_id)) {
        return;
    }
    $meta_keys = array(get_team_member_title_meta_key(), get_team_member_twitter_meta_key(), get_team_member_github_meta_key(), get_team_member_wordpress_meta_key());
    foreach ($meta_keys as $meta_key) {
        if (!empty($_POST[$meta_key])) {
            update_post_meta($post_id, $meta_key, $_POST[$meta_key]);
        } else {
            delete_post_meta($post_id, $meta_key);
        }
    }
}
/**
 * Registers the Team Members Post Type.
 */
function register_team_members_post_type()
{
    $labels = array('name' => esc_html__('Team Members', 'fzp'), 'singular_name' => esc_html__('Team Member', 'fzp'), 'add_new' => esc_html__('Add New', 'fzp'), 'add_new_item' => esc_html__('Add New Team Member', 'fzp'), 'edit_item' => esc_html__('Edit Team Member', 'fzp'), 'new_item' => esc_html__('New Team Member', 'fzp'), 'all_items' => esc_html__('All Team Members', 'fzp'), 'view_item' => esc_html__('View Team Member', 'fzp'), 'search_items' => esc_html__('Search Team Members', 'fzp'), 'not_found' => esc_html__('No Team Member found', 'fzp'), 'not_found_in_trash' => esc_html__('No Team Member found in Trash', 'fzp'), 'parent_item_colon' => '', 'menu_name' => esc_html__('Team Members', 'fzp'));
    $args = array('labels' => $labels, 'public' => true, 'description' => esc_html__('Team Member', 'jdrf'), 'capability_type' => 'post', 'map_meta_cap' => true, 'hierarchical' => false, 'menu_position' => 21, 'menu_icon' => 'dashicons-groups', 'show_in_menu' => true, 'has_archive' => false, 'rewrite' => array('slug' => get_team_members_post_type_slug(), 'with_front' => false), 'supports' => array('title', 'thumbnail', 'editor', 'author'));
    register_post_type(get_team_members_post_type_name(), $args);
}