Ciao a tutti,
vorrei modificare una pagina del mio Template su Wordpress aggiungendo due nuovi Label, ma non saprei come fare, il mio metodo non ha funzionato, magari voi site piu' esperti.
Di seguito ho inserito il codice.
Il Template è Real Places Versione: 1.2.3 Di Inspiry Themes
Submit Property
template di pagina
(page-templates/submit-property.php)
[PHP]<?php
/*
- Template Name: Submit Property
 */
global $inspiry_options;
$invalid_nonce = false;
$submitted_successfully = false;
$updated_successfully = false;
// Check if action field is set and user is logged in
if( isset( $_POST['action'] ) && is_user_logged_in() ) {
/* the nonce */
if( wp_verify_nonce( $_POST['property_nonce'], 'submit_property' ) ) {
    // Start with basic array
    $new_property = array(
        'post_type'        =>    'property'
    );
    // Title
    if( isset ( $_POST['inspiry_property_title'] ) && ! empty ( $_POST['inspiry_property_title'] ) ) {
        $new_property['post_title']    = sanitize_text_field( $_POST['inspiry_property_title'] );
    }
    // Description
    if( isset ( $_POST['description'] ) && ! empty ( $_POST['description'] ) ) {
        $new_property['post_content'] = wp_kses_post( $_POST['description'] );
    }
    // Author
    global $current_user;
    get_currentuserinfo();
    $new_property['post_author'] = $current_user->ID;
    /* check the type of action */
    $action = $_POST['action'];
    $property_id = 0;
    if( $action == "add_property" ) {
        $default_submit_status = $inspiry_options[ 'inspiry_default_submit_status' ];
        if ( !empty( $default_submit_status ) ) {
            $new_property['post_status'] = $default_submit_status;
        } else {
            $new_property['post_status'] = 'pending';
        }
        $property_id = wp_insert_post( $new_property ); // Insert Property and get Property ID
        if( $property_id > 0 ){
            $submitted_successfully = true;
            do_action( 'wp_insert_post', 'wp_insert_post' ); // Post the Post
        }
    } elseif ( $action == "update_property" ) {
        $new_property['ID'] = intval( $_POST['property_id'] );
        $property_id = wp_update_post( $new_property ); // Update Property and get Property ID
        if( $property_id > 0 ){
            $updated_successfully = true;
        }
    }
    /*
     * Added / Updates ( In any case there should be a valid property id )
     */
    if( $property_id > 0 ) {
        // Attach Property Type with Newly Created Property
        if( isset( $_POST['type'] ) && ( $_POST['type'] != "-1" ) ) {
            wp_set_object_terms( $property_id, intval( $_POST['type'] ), 'property-type' );
        }
        // Attach Property City with Newly Created Property
        if( isset( $_POST['city'] ) && ( $_POST['city'] != "-1" ) ) {
            wp_set_object_terms( $property_id, intval( $_POST['city'] ), 'property-city' );
        }
        // Attach Property Status with Newly Created Property
        if( isset( $_POST['status'] ) && ( $_POST['status'] != "-1" ) ) {
            wp_set_object_terms( $property_id, intval( $_POST['status'] ), 'property-status' );
        }
        // Attach Property Features with Newly Created Property
        if( isset( $_POST['features'] ) ) {
            if( ! empty( $_POST['features'] ) && is_array( $_POST['features'] ) ) {
                $property_features = array();
                foreach( $_POST['features'] as $property_feature_id ) {
                    $property_features[] = intval( $property_feature_id );
                }
                wp_set_object_terms( $property_id , $property_features, 'property-feature' );
            }
        }
        // Attach Price Post Meta
        if( isset ( $_POST['price'] ) && !empty ( $_POST['price'] ) ) {
            update_post_meta( $property_id, 'REAL_HOMES_property_price', sanitize_text_field( $_POST['price'] ) );
            if( isset ( $_POST['price-postfix'] ) && ! empty ( $_POST['price-postfix'] ) ) {
                update_post_meta( $property_id, 'REAL_HOMES_property_price_postfix', sanitize_text_field( $_POST['price-postfix'] ) );
            }
        }
        // Attach Size Post Meta
        if( isset ( $_POST ) && !empty ( $_POST ) ) {
            update_post_meta($property_id, 'REAL_HOMES_property_size', sanitize_text_field ( $_POST ) );
            if( isset ( $_POST['area-postfix'] ) && !empty ( $_POST['area-postfix'] ) ) {
                update_post_meta( $property_id, 'REAL_HOMES_property_size_postfix', sanitize_text_field( $_POST['area-postfix'] ) );
            }
        }
        // Attach Bedrooms Post Meta
        if( isset ( $_POST['bedrooms'] ) && !empty ( $_POST['bedrooms'] ) ) {
            update_post_meta( $property_id, 'REAL_HOMES_property_bedrooms', floatval( $_POST['bedrooms'] ) );
        }
        // Attach Bathrooms Post Meta
        if( isset ( $_POST['bathrooms'] ) && !empty ( $_POST['bathrooms'] ) ) {
            update_post_meta( $property_id, 'REAL_HOMES_property_bathrooms', floatval( $_POST['bathrooms'] ) );
        }
        // Attach Garages Post Meta
        if( isset ( $_POST['garages'] ) && !empty ( $_POST['garages'] ) ) {
            update_post_meta( $property_id, 'REAL_HOMES_property_garage', floatval( $_POST['garages'] ) );
        }
        // Attach Address Post Meta
        if( isset ( $_POST['address'] ) && !empty ( $_POST['address'] ) ) {
            update_post_meta( $property_id, 'REAL_HOMES_property_address', sanitize_text_field( $_POST['address'] ) );
        }
        // Attach Address Post Meta
        if( isset ( $_POST['location'] ) && !empty ( $_POST['location'] ) ) {
            update_post_meta( $property_id, 'REAL_HOMES_property_location', $_POST['location'] );
        }
        // Agent Display Option
        if( isset ( $_POST['agent_display_option'] ) && ! empty ( $_POST['agent_display_option'] ) ) {
            update_post_meta( $property_id, 'REAL_HOMES_agent_display_option', $_POST['agent_display_option']);
            if ( ( $_POST['agent_display_option'] == "agent_info" ) && isset( $_POST['agent_id'] ) ) {
                update_post_meta( $property_id, 'REAL_HOMES_agents', $_POST['agent_id'] );
            }
        }
        // Attach Property ID Post Meta
        if( isset ( $_POST['property-id'] ) && !empty ( $_POST['property-id'] ) ) {
            update_post_meta( $property_id, 'REAL_HOMES_property_id', sanitize_text_field( $_POST['property-id'] ) );
        }
        // Attach Virtual Tour Video URL Post Meta
        if( isset ( $_POST['video-url'] ) && !empty ( $_POST['video-url'] ) ) {
            update_post_meta( $property_id, 'REAL_HOMES_tour_video_url', esc_url_raw( $_POST['video-url'] ) );
        }
        // Attach additional details with property
        if( isset( $_POST['detail-titles'] ) && isset( $_POST['detail-values'] ) ) {
            $additional_details_titles = $_POST['detail-titles'];
            $additional_details_values = $_POST['detail-values'];
            $titles_count = count ( $additional_details_titles );
            $values_count = count ( $additional_details_values );
            // to skip empty values on submission
            if ( $titles_count == 1 && $values_count == 1 && empty ( $additional_details_titles[0] ) && empty ( $additional_details_values[0] ) ) {
                // do nothing and let it go
            } else {
                if( !empty( $additional_details_titles ) && !empty( $additional_details_values ) ) {
                    $additional_details = array_combine( $additional_details_titles, $additional_details_values );
                    update_post_meta( $property_id, 'REAL_HOMES_additional_details', $additional_details );
                }
            }
        }
        // Attach Property as Featured Post Meta
        $featured = ( isset( $_POST['featured'] ) ) ? 1 : 0 ;
        if ( $featured ) {
            update_post_meta( $property_id, 'REAL_HOMES_featured', $featured );
        }
        // Tour video image - in case of update
        $tour_video_image = "";
        $tour_video_image_id = 0;
        if( $action == "update_property" ) {
            $tour_video_image_id = get_post_meta( $property_id, 'REAL_HOMES_tour_video_image', true );
            if ( ! empty ( $tour_video_image_id ) ) {
                $tour_video_image_src = wp_get_attachment_image_src( $tour_video_image_id, 'property-detail-video-image' );
                $tour_video_image = $tour_video_image_src[0];
            }
        }
        // if property is being updated, clean up the old meta information related to images
        if( $action == "update_property" ){
            delete_post_meta( $property_id, 'REAL_HOMES_property_images' );
            delete_post_meta( $property_id, '_thumbnail_id' );
        }
        // Attach gallery images with newly created property
        if ( isset( $_POST['gallery_image_ids'] ) ) {
            if( ! empty ( $_POST['gallery_image_ids'] ) && is_array ( $_POST['gallery_image_ids'] ) ) {
                $gallery_image_ids = array();
                foreach ( $_POST['gallery_image_ids'] as $gallery_image_id ) {
                    $gallery_image_ids[] = intval( $gallery_image_id );
                    add_post_meta( $property_id, 'REAL_HOMES_property_images', $gallery_image_id );
                }
                if ( isset( $_POST['featured_image_id'] ) ) {
                    $featured_image_id = intval( $_POST['featured_image_id'] );
                    if ( in_array( $featured_image_id, $gallery_image_ids ) ) {     // validate featured image id
                        update_post_meta ( $property_id, '_thumbnail_id', $featured_image_id );
                        /* if video url is provided but there is no video image then use featured image as video image */
                        if ( empty( $tour_video_image ) && !empty( $_POST['video-url'] ) ) {
                            update_post_meta( $property_id, 'REAL_HOMES_tour_video_image', $featured_image_id );
                        }
                    }
                } elseif( !empty ( $gallery_image_ids ) ) {
                    update_post_meta ( $property_id, '_thumbnail_id', $gallery_image_ids[0] );
                }
            }
        }
        if( "add_property" == $_POST['action'] ) {
            /*
             * inspiry_submit_notice function is hooked here
             */
            do_action( 'inspiry_after_property_submit', $property_id  );
        } elseif ( "update_property" == $_POST['action'] ) {
            /*
             * no default theme function is hooked here for now
             */
            do_action( 'inspiry_after_property_update', $property_id );
        }
        // redirect to my properties page
        if( !empty( $inspiry_options[ 'inspiry_my_properties_page' ]  ) ) {
            $my_properties_url = get_permalink( $inspiry_options[ 'inspiry_my_properties_page' ] );
            if ( !empty( $my_properties_url ) ) {
                $separator = ( parse_url( $my_properties_url, PHP_URL_QUERY ) == NULL ) ? '?' : '&';
                $parameter = ( $updated_successfully ) ? 'property-updated=true' : 'property-added=true';
                wp_redirect( $my_properties_url . $separator . $parameter );
            }
        }
    }
} else {
    $invalid_nonce = true;
}
}
get_header();
get_template_part( 'partials/header/banner' );
?>
<div id="content-wrapper" class="site-content-wrapper site-pages">
    <div id="content" class="site-content layout-boxed">
        <div class="container">
            <div class="row">
                <div class="col-xs-12 site-main-content">
                    <main id="main" class="site-main">
                        <div class="white-box submit-property-box">
                            <?php
                            /*
                             * Display page contents if any
                             */
                            if ( have_posts() ):
                                while ( have_posts() ):
                                    the_post();
                                    $content = get_the_content();
                                    if ( !empty( $content ) ) {
                                        ?>
                                        <article id="post-<?php the_ID(); ?>" <?php post_class('clearfix'); ?> >
                                            <div class="entry-content clearfix">
                                                <?php the_content(); ?>
                                            </div>
                                        </article>
                                        <?php
                                    }
                                endwhile;
                            endif;
                            /*
                             * Property submit and update stuff
                             */
                            if ( is_user_logged_in() ) {
                                if ( $invalid_nonce ) {
                                    inspiry_message( __( 'Oops','inspiry' ), __( 'Security check failed!', 'inspiry' ) );
                                } else {
                                    if ( $submitted_successfully ) {
                                        inspiry_message( __( 'Submitted','inspiry' ), __( 'Property successfully submitted.', 'inspiry' ) );
                                    } else if ( $updated_successfully ) {
                                        inspiry_message( __('Updated','inspiry'), __('Property updated successfully.', 'inspiry' ) );
                                    } else {
                                        if( isset( $_GET['edit_property'] ) && ! empty( $_GET['edit_property'] ) ) { // if passed parameter is properly set to edit property
                                            get_template_part( 'partials/property/templates/edit-form' );
                                        } else {
                                            get_template_part( 'partials/property/templates/submit-form' );
                                        }
                                    }
                                }
                            } else {
                                inspiry_message( __( 'Login Required', 'inspiry' ), __( 'You need to login to submit a property!', 'inspiry' ) );
                            }
                            ?>
                        </div>
                        <!-- .submit-property-box -->
                    </main>
                    <!-- .site-main -->
                </div>
                <!-- .site-main-content -->
            </div>
            <!-- .row -->
        </div>
        <!-- .container -->
    </div>
    <!-- .site-content -->
</div><!-- .site-content-wrapper -->
<?php
/*
[/PHP]