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