mohammadmahami 1 ارسال شده در مهر 00 گزارش بازنشر ارسال شده در مهر 00 سلام دوستان وقتتون بخیر امیدوارم که روز خوبی و سپری کرده باشین مشکل من با افزونه 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'); } لینک به ارسال
پست های پیشنهاد شده
لطفا برای ارسال دیدگاه وارد شوید
شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید
ورود به حساب کاربری