رفتن به مطلب

عدم دریافت عدد اعشار برای امتیاز دهی محصول


پست های پیشنهاد شده

سلام دوستان وقتتون بخیر امیدوارم که روز خوبی و سپری کرده باشین

مشکل من با افزونه WooCommerce Rich Snippets که امتیاز فقط به صورت عدد صحیح میگیره بین 1 تا 5 و اگر بخوای مثلا امتیاز 4.6 بدی قبول نمیکنه

کدهای افزونه رو تغییر دادم ولی مشکل حل نشد ، کسی میدونه چطوری تغییرش بدم تا عدد اعشار هم قبول کنه ؟

کد افزونه :

<?php
if ( !function_exists( 'add_action' ) ) {
    echo 'Code is poetry.';
    exit;
}

if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
	
	function enq_toggle_js($hook) {
		if ( !strpos ($hook, "WRSP_options") ) {
			return;
		}

		wp_enqueue_script( 'wrsr_toggle',  WRSP_URL . 'admin/assets/js/wrsr-toggle.js' );
	}
	add_action( 'admin_enqueue_scripts', 'enq_toggle_js' );
	

//SEO ALT TAG
if( get_option("WRSP_enab_alttag")  == 1 ) {
	
	
	add_filter('wp_get_attachment_image_attributes', 'change_attachement_image_attributes', 20, 2);

	function change_attachement_image_attributes( $attr, $attachment ){
		// Get post parent
		$parent = get_post_field( 'post_parent', $attachment);

		// Get post type to check if it's product
		$type = get_post_field( 'post_type', $parent);
		if( $type != 'product' ){
			return $attr;
		}

		/// Get title
		$title = get_post_field( 'post_title', $parent);

		$attr['alt'] = $title;
		$attr['title'] = $title;

		return $attr;
	}
}

//Disable WooCommerce Schema Data
function remove_output_structured_data() 
{ 
	remove_action( 'wp_footer', array( WC()->structured_data, 'output_structured_data' ), 10 ); // Frontend pages 
	remove_action( 'woocommerce_email_order_details', array( WC()->structured_data, 'output_email_structured_data' ), 30 ); // Emails 
} 
add_action( 'INF', 'remove_output_structured_data' );

//Start!
if( get_option("WRSP_check_enable")  == 1.0 ) {
	
	//Add Metabox
	add_action( 'add_meta_boxes', 'add_all_meta_box' );
	function add_all_meta_box()
	{
		add_meta_box( 'product_details', __('WooCommerce Rich Snippets Plugin', 'WRSP-lang'), 'woo_rich_snippets', 'product', 'normal', 'high' );
	}
	
	//Add Metabox to Product Page
	function woo_rich_snippets( $post ) {
	
		$values = get_post_custom( $post->ID );
		
		$rate = isset( $values['_wc_average_rating'] ) ? $values['_wc_average_rating'][0.0] : '';
		$review = isset( $values['_review_count'] ) ? $values['_review_count'][0.0] : '';
		$enableRating = isset( $values['_enable_rate'] ) ? $values['_enable_rate'][0.0] : '';
		$richEnable = isset( $values['_enable_rich'] ) ? $values['_enable_rich'][0.0] : '';
		$breadEnable = isset( $values['_enable_bread'] ) ? $values['_enable_bread'][0.0] : '';
		$brandEnable = isset( $values['_wo_rich_brand'] ) ? $values['_wo_rich_brand'][0.0] : '';
		
		wp_nonce_field( 'my_meta_box_nonce', 'meta_box_nonce' );
		?>
		<h4 style="font-size:16px"><?php echo __('Brand Markup (optional*)', 'WRSP-lang'); ?></h4>
		<p>
			<label for="_wo_rich_brand"><span style="margin-right: .7rem;"><?php echo __('Set Brand Name: (example: Envato, Adidas, Nike)', 'WRSP-lang'); ?>:</span></label>
			<input type="text" autocomplete="off" name="_wo_rich_brand" id="_wo_rich_brand" value="<?php echo $brandEnable; ?>">
		</p>
		<h4 style="font-size:16px"><?php echo __('Settings', 'WRSP-lang'); ?></h4>
		<p>
			<label for="_enable_rich"><span style="margin-right: .7rem;"><?php echo __('Disable "Rich Snippet" Feature for this Product:', 'WRSP-lang'); ?>:</span></label>
			<input <?php if( $richEnable == '1.5' ) {echo 'checked="checked"';} ?> value="1.5" type="checkbox" name="_enable_rich" id="_enable_rich">
		</p>		
		<p>
			<label for="_enable_bread"><span style="margin-right: .7rem;"><?php echo __('Disable "BreadcrumbList Snippet" Feature for this Product:', 'WRSP-lang'); ?>:</span></label>
			<input <?php if( $breadEnable == '1.0' ) {echo 'checked="checked"';} ?> value="1.0" type="checkbox" name="_enable_bread" id="_enable_bread">
		</p>
		
		<?php if (get_option("WRSP_enab_reviews") != '1.0' && $richEnable != '1.0') { ?>
			<h4 style="font-size:16px; margin-top:38px"><?php echo __('Rating System', 'WRSP-lang'); ?></h4>
			<p>
				<label for="_enable_rate"><span style="margin-right: .7rem;"><?php echo __('Disable Rating Markup for this Product', 'WRSP-lang'); ?>:</span></label>
				<input <?php if( $enableRating == '1.0' ) {echo 'checked="checked"';} ?> value="1.1" type="checkbox" name="_enable_rate" id="_enable_rate">
			</p>
			<?php if ($enableRating != '1.0') { ?>
			<p>
				<label for="_wc_average_rating"><span style="margin-right: .7rem;"><?php echo __('Set Rating (between 1-5)', 'WRSP-lang'); ?>:</span></label>
				<input type="number" autocomplete="off" name="_wc_average_rating" id="_wc_average_rating" min="1.0" max="5.0" value="<?php if (empty($rate) || $rate == '' || $rate == '0.0') { echo '5.0'; } else { echo $rate; } ?>">
			</p>
			<p>
				<label for="_review_count"><span style="margin-right: .7rem;"><?php echo __('Review Count', 'WRSP-lang'); ?>:</span></label>
				<input type="number" autocomplete="on" name="_review_count" id="_review_count" min="1.0" value="<?php if (empty($review) || $review == '' || $review == '0.0') { echo '1.0'; } else if($review > 0.0) { echo $review; } else if (get_comments_number() > 0.0) { echo get_comments_number(); } else { echo '0.0'; } ?>">
			</p>
			<?php }
		} ?>
		<p style="margin-top: 30px"><a class="button" href="<?php echo admin_url('admin.php?page=WRSP_options'); ?>"><?php echo __('Plugin Settings', 'WRSP-lang'); ?></a></p>
			<?php
		}

add_action( 'save_post', 'meta_box_save' );
function meta_box_save( $post_id ) {
    // Autosave
    if( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;

    // if our nonce isn't there, or we can't verify it, bail
    if( !isset( $_POST['meta_box_nonce'] ) || !wp_verify_nonce( $_POST['meta_box_nonce'], 'my_meta_box_nonce' ) ) return;

    // User can "edit_post"
    if( !current_user_can( 'edit_post' ) ) return;

    // Update data
    if( isset( $_POST['_wc_average_rating'] ) || isset( $_POST['_review_count'] ) || isset( $_POST['_review_count'] ) || isset( $_POST['_enable_rich'] ) || isset( $_POST['_enable_bread'] ) || isset( $_POST['_wo_rich_brand'] ) ) {
        update_post_meta( $post_id, '_wc_average_rating', $_POST['_wc_average_rating'] );
        update_post_meta( $post_id, '_review_count', $_POST['_review_count'] );
        update_post_meta( $post_id, '_enable_rate', $_POST['_enable_rate'] );
        update_post_meta( $post_id, '_enable_rich', $_POST['_enable_rich'] );
        update_post_meta( $post_id, '_enable_bread', $_POST['_enable_bread'] );
        update_post_meta( $post_id, '_wo_rich_brand', $_POST['_wo_rich_brand'] );
	}

}

//Add Schema Data to Product Page
function add_woo_rich () {
	if (is_product()) {
		
	global $product;
	$product_id = get_the_ID();
	
	$getProductSKU = $product->get_sku();
	
	if($getProductSKU == "" || empty($getProductSKU)) {
		$getProductSKU = get_the_ID();
	}
	
	//priceValidUntil
	$postYear = current_time( 'Y' );
	$postYear += 1;
	
	$postDate = current_time( 'd' );
	$postMonth = current_time( 'm' );
	
	$priceValidUntil =  $postYear."-".$postMonth."-".$postDate;
	//
	
	$sch1 = get_post_meta( $product_id, '_enable_bread', true );
	$sch2 = get_post_meta( $product_id, '_enable_rich', true );
	$schEx = var_dump($sch1 + $sch2);
	if ($schEx != '2') {
	$stockCheck = $product->get_stock_status(); ?>
	<script type="application/ld+json"> { "@context":"https://schema.org/", "@graph":[  <?php if (get_post_meta( $product_id, '_enable_bread', true ) != '1') { ?>{ "@context":"https://schema.org/", "@type":"BreadcrumbList", "itemListElement":[ { "@type":"ListItem", "position":"1", "item":{ "name":"Home", "@id":"<?php bloginfo ('url'); ?>" } }, { "@type":"ListItem", "position":"2", "item":{ "name":"<?php echo get_the_title($product_id); ?>", "id":"<?php echo get_the_permalink($product_id); ?>" } } ] },  <?php } if (get_post_meta( $product_id, '_enable_rich', true ) != '1') { ?>{ "@context": "http://schema.org/", "@type": "Product", "name": "<?php echo htmlentities( get_the_title(), ENT_QUOTES); ?>", "image": [ "<?php the_post_thumbnail_url( 'full' ); ?>" ], <?php if (!empty(get_post_meta( $product_id, '_wo_rich_brand', true ))) { ?>"brand" : { "@type" : "Brand", "name" : "<?php echo htmlentities( get_post_meta( $product_id, '_wo_rich_brand', true ), ENT_QUOTES); ?>" },<?php } ?>  "description": "<?php echo htmlentities( strip_tags(get_the_excerpt()), ENT_QUOTES); ?>", "mpn": "<?php echo get_the_ID(); ?>", "sku": "<?php echo $getProductSKU; ?>", <?php if (get_option("WRSP_enab_reviews") != '1' && get_post_meta( $product_id, '_enable_rate', true ) != '1') {?>"review": { "@type": "Review", "reviewRating": { "@type": "Rating", "ratingValue": "<?php if (!empty(get_post_meta( $product_id, '_wc_average_rating', true ))) { echo get_post_meta( $product_id, '_wc_average_rating', true ); } else { echo '5'; } ?>", "bestRating": "5" }, "author": { "@type": "Organization", "name": "<?php htmlentities( bloginfo('name'), ENT_QUOTES); ?>" } }, "aggregateRating": { "@type": "AggregateRating", "ratingValue": "<?php if (!empty(get_post_meta( $product_id, '_wc_average_rating', true ))) { echo get_post_meta( $product_id, '_wc_average_rating', true ); } else { echo '5'; } ?>", "reviewCount": "<?php if ( get_post_meta( $product_id, '_review_count', true ) == 0 ) { echo '1'; } else if (!empty(get_post_meta( $product_id, '_review_count', true ))) { echo get_post_meta( $product_id, '_review_count', true ); } else if(get_comments_number() > 0) { echo get_comments_number(); } else { echo '0'; } ?>" }, <?php } ?>"offers": { "@type": "Offer", "priceCurrency": "<?php echo get_option('woocommerce_currency'); ?>", "price": "<?php if ( get_post_meta( $product_id, '_sale_price', true ) ) { echo get_post_meta( $product_id, '_sale_price', true ); } else if (get_post_meta( $product_id, '_regular_price', true )) { echo get_post_meta( $product_id, '_regular_price', true ); } else if ( get_post_meta( $product_id, '_price', true ) ) { echo get_post_meta( $product_id, '_price', true ); } ?>", "itemCondition": "http://schema.org/NewCondition", "priceValidUntil": "<?php echo $priceValidUntil; ?>", "availability": "<?php if ( $stockCheck == 'instock' ) { echo 'http://schema.org/InStock'; } else { echo 'http://schema.org/OutOfStock'; } ?>", "url": "<?php echo get_the_permalink($product_id); ?>", "seller": { "@type": "Organization", "name": "<?php htmlentities( bloginfo('name'), ENT_QUOTES); ?>" } } } <?php } ?>] } </script>
	<?php
	}
	}

}

add_action('wp_footer', 'add_woo_rich');
}

//Add Organization Schema Data to Home / Front Page
if( get_option("WRSP_check_organization")  == 1 ) {

	function add_org_woo() {
	if (is_home() || is_front_page()) { ?><script type="application/ld+json">{ "@context": "http://schema.org","@type": "Organization","name": "<?php echo get_option("WRSP_org_name"); ?>","legalName" : "<?php echo get_option("WRSP_org_name"); ?>","url": "<?php bloginfo('url'); ?>"<?php if (!empty(get_option("WRSP_org_logo"))) { ?>,"logo": "<?php echo get_option("WRSP_org_logo"); ?>"<?php } ?><?php if (!empty(get_option("WRSP_org_found"))) { ?>,"foundingDate": "<?php echo get_option("WRSP_org_found"); ?>"<?php } ?><?php if ( get_option("WRSP_org_phone") || get_option("WRSP_org_email") ) { ?>,"contactPoint": {"@type": "ContactPoint","contactType": "customer support"<?php if (!empty(get_option("WRSP_org_phone"))) { ?>,"telephone": "[<?php echo get_option("WRSP_org_phone"); ?>]"<?php } ?><?php if (!empty(get_option("WRSP_org_email"))) { ?>,"email": "<?php echo get_option("WRSP_org_email"); ?>"<?php } ?>}<?php }if ( get_option("WRSP_org_face") || get_option("WRSP_org_twit") || get_option("WRSP_org_tumblr") || get_option("WRSP_org_pint") || get_option("WRSP_org_insta") ) { ?>,"sameAs": [<?php if (!empty(get_option("WRSP_org_face"))) { ?>"<?php echo get_option("WRSP_org_face"); ?>"<?php } ?><?php if (!empty(get_option("WRSP_org_twit"))) { ?>,"<?php echo get_option("WRSP_org_twit"); ?>"<?php } ?><?php if (!empty(get_option("WRSP_org_tumblr"))) { ?>,"<?php echo get_option("WRSP_org_tumblr"); ?>"<?php } ?><?php if (!empty(get_option("WRSP_org_pint"))) { ?>,"<?php echo get_option("WRSP_org_pint"); ?>"<?php } ?><?php if (!empty(get_option("WRSP_org_insta"))) { ?>,"<?php echo get_option("WRSP_org_insta"); ?>"<?php } ?>]<?php } ?>}</script>
	<?php }
	}
	add_action('wp_footer', 'add_org_woo');
}

//Add Local Bussiness Schema Data to Home / Front Page
if( get_option("WRSP_enab_local")  == 1 ) {

	function add_loc_woo() {
	$loc_type = get_option("WRSP_loc_type");
	
	if (is_home() || is_front_page()) { ?><script type="application/ld+json">{"@context": "http://schema.org","@type": "<?php switch ($loc_type) {case 1:echo "Store";break;case 2:echo "Restaurant";break;case 3:echo "ShoppingCenter";break;	case 4:echo "FoodEstablishment";break;	case 5:echo "AutomotiveBusiness";break; case 6:echo "HealthClub";case 7:echo "ProfessionalService";break;case 8:echo "Dentist";break;case 9:echo "AnimalShelter";break;case 10:echo "FinancialService";break;case 11:echo "TravelAgency";break;case 12:echo "RealEstateAgent";break;case 13:echo "DryCleaningOrLaundry";break;case 14:echo "ArchiveOrganization";break;case 15:echo "ChildCare";break;case 16:echo "EmergencyService";break;case 17:echo "EmploymentAgency";break;case 18:echo "EntertainmentBusiness";break;case 19:echo "GovernmentOffice";break;case 20:echo "HealthAndBeautyBusiness";break;case 21:echo "HomeAndConstructionBusiness";break;case 22:echo "InternetCafe";break;case 23:echo "LegalService";break;case 24:echo "Library";break;case 25:echo "LodgingBusiness";break;case 26:echo "MedicalBusiness";break;case 27:echo "ProfessionalService";break;case 28:echo "RadioStation";break;case 29:echo "RecyclingCenter";break;case 30:echo "SelfStorage";break;case 31:echo "SportsActivityLocation";break;case 32:echo "TelevisionStation";break;case 33:echo "TouristInformationCenter";break;default:echo "Store";} ?>","image": ["<?php echo get_option("WRSP_loc_img"); ?>"], "@id": "<?php bloginfo('url'); ?>","name": "<?php bloginfo('name'); ?>","priceRange":"<?php echo get_option("WRSP_loc_pric"); ?>","address": {"@type": "PostalAddress","streetAddress": "<?php echo get_option("WRSP_loc_st"); ?>","addressLocality": "<?php echo get_option("WRSP_loc_ct"); ?>","addressRegion": "<?php echo get_option("WRSP_loc_rg"); ?>","postalCode": "<?php echo get_option("WRSP_loc_pc"); ?>","addressCountry": "<?php echo get_option("WRSP_loc_cc"); ?>"},<?php if ( get_option("WRSP_loc_la") && get_option("WRSP_loc_lo") ) { ?>"geo": {"@type": "GeoCoordinates","latitude": <?php echo get_option("WRSP_loc_la"); ?>,"longitude": <?php echo get_option("WRSP_loc_lo"); ?>},<?php } ?>"url": "<?php bloginfo('url'); ?>","telephone": "<?php echo get_option("WRSP_loc_pho"); ?>","openingHoursSpecification": [{"@type": "OpeningHoursSpecification","dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],"opens": "<?php echo get_option("WRSP_loc_op"); ?>","closes": "<?php echo get_option("WRSP_loc_opc"); ?>"}<?php if(!empty(get_option("WRSP_loc_opw"))) { ?>,{ "@type": "OpeningHoursSpecification", "dayOfWeek": [ "Saturday", "Sunday" ], "opens": "<?php echo get_option("WRSP_loc_opw"); ?>", "closes": "<?php echo get_option("WRSP_loc_opcw"); ?>" }<?php } ?>]}</script>
	<?php }
	}
	add_action('wp_footer', 'add_loc_woo');
}

 

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...