Web Hosting
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

WordPress fix Reply To: Custom field displays “Array” not values

Discussion in 'Misc WordPress Requests' started by kayeomalley, Oct 10, 2017.

  1. kayeomalley

    Guest

    Reply To: Custom field displays “Array” not values, by kayeomalley

    okay so I changed part of it and i’m only getting one result back. I would like to be able to select more than one user.

    new code:`
    <?php
    /**
    * Create the metabox
    * @link https://developer.wordpress.org/reference/functions/add_meta_box/
    */
    function _namespace_create_metabox() {

    // Can only be used on a single post type (ie. page or post or a custom post type).
    // Must be repeated for each post type you want the metabox to appear on.
    add_meta_box(
    ‘_namespace_metabox’, // Metabox ID
    ‘Some Metabox’, // Title to display
    ‘_namespace_render_metabox’, // Function to call that contains the metabox content
    ‘product’, // Post type to display metabox on
    ‘normal’, // Where to put it (normal = main colum, side = sidebar, etc.)
    ‘default’ // Priority relative to other metaboxes
    );

    }
    add_action( ‘add_meta_boxes’, ‘_namespace_create_metabox’ );

    /**
    * Render the metabox markup
    * This is the function called in _namespace_create_metabox()
    */
    function _namespace_render_metabox() {
    // Variables
    global $post; // Get the current post data

    $details = $post->_namespace; // Get the saved values
    // query array
    $args = array(‘role’ => ‘author’);

    $users = get_users($args);
    if( empty($users) )
    return;

    echo'<select name=”_namespace_custom_metabox” id=”_namespace_custom_metabox” multiple=”mulitiple” >’;
    foreach( $users as $user ){
    echo ‘<option value=”‘.$user->data->user_login.'”>’.$user->data->display_name.'</option>’;
    }
    echo'</select>’;
    echo $details;
    echo ‘<br>’;
    print_r($details);

    // Security field
    // This validates that submission came from the
    // actual dashboard and not the front end or
    // a remote server.
    wp_nonce_field( ‘_namespace_form_metabox_nonce’, ‘_namespace_form_metabox_process’ );
    }
    /**
    * Save the metabox
    * @param Number $post_id The post ID
    * @param Array $post The post data
    */
    function _namespace_save_metabox( $post_id, $post ) {

    // Verify that our security field exists. If not, bail.
    if ( !isset( $_POST[‘_namespace_form_metabox_process’] ) ) return;

    // Verify data came from edit/dashboard screen
    if ( !wp_verify_nonce( $_POST[‘_namespace_form_metabox_process’], ‘_namespace_form_metabox_nonce’ ) ) {
    return $post->ID;
    }

    // Verify user has permission to edit post
    if ( !current_user_can( ‘edit_post’, $post->ID )) {
    return $post->ID;
    }

    // Check that our custom fields are being passed along
    // This is the name value array. We can grab all
    // of the fields and their values at once.
    if ( !isset( $_POST[‘_namespace_custom_metabox’] ) ) {
    return $post->ID;
    }
    /**
    * Sanitize the submitted data
    * This keeps malicious code out of our database.
    * wp_filter_post_kses strips our dangerous server values
    * and allows through anything you can include a post.
    */
    $sanitized = wp_filter_post_kses( $_POST[‘_namespace_custom_metabox’] );
    // Save our submissions to the database
    update_post_meta( $post->ID, ‘_namespace’, $sanitized );

    }
    add_action( ‘save_post’, ‘_namespace_save_metabox’, 1, 2 );
    /**
    * Save events data to revisions
    * @param Number $post_id The post ID
    */
    function _namespace_save_revisions( $post_id ) {

    // Check if it’s a revision
    $parent_id = wp_is_post_revision( $post_id );

    // If is revision
    if ( $parent_id ) {

    // Get the saved data
    $parent = get_post( $parent_id );
    $details = $post->_namespace;

    // If data exists and is an array, add to revision
    if ( !empty( $details ) ) {
    add_metadata( ‘post’, $post_id, ‘_namespace’, $details );
    }

    }

    }
    add_action( ‘save_post’, ‘_namespace_save_revisions’ );
    /**
    * Restore events data with post revisions
    * @param Number $post_id The post ID
    * @param Number $revision_id The revision ID
    */
    function _namespace_restore_revisions( $post_id, $revision_id ) {

    // Variables
    $post = get_post( $post_id ); // The post
    $revision = get_post( $revision_id ); // The revision
    $details = $post->_namespace; // The historic version

    // Replace our saved data with the old version
    update_post_meta( $post_id, ‘_namespace’, $details );

    }
    add_action( ‘wp_restore_post_revision’, ‘_namespace_restore_revisions’, 10, 2 );

    /**
    * Get the data to display on the revisions page
    * @param Array $fields The fields
    * @return Array The fields
    */
    function _namespace_get_revisions_fields( $fields ) {
    // Set a title
    $fields[‘_namespace’] = ‘Some Item’;
    return $fields;
    }
    add_filter( ‘_wp_post_revision_fields’, ‘_namespace_get_revisions_fields’ );

    /**
    * Display the data on the revisions page
    * @param String|Array $value The field value
    * @param Array $field The field
    */
    function _namespace_display_revisions_fields( $value, $field ) {
    global $revision;
    return get_metadata( ‘post’, $revision->ID, $field, true );
    }
    add_filter( ‘_wp_post_revision_field_my_meta’, ‘_namespace_display_revisions_fields’, 10, 2 );

    ?>

    Reply To: Custom field displays “Array” not values
     
    #1

Share This Page

Web Hosting