- Home
- Categorie
- Coding e Sistemistica
- CMS & Piattaforme Self-Hosted
- Aggiungere Label in php
-
Aggiungere Label in php
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 ThemesSubmit 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
/*- Footer
*/
get_footer();
[/PHP]
- Template Name: Submit Property