home.social

Search

250 results for “woo”

  1. Autumn in the woods comes with a fear I feel every year: that the colour will peak and fall in the gap between one visit and the next, and that I will miss it for another whole year. There is a great deal of anticipation in the season. There is a fair amount of anxiety in it too.

    timsmalley.co.uk/blog/waiting-

    #woodlandphotography #landscapephotography #nature

  2. AWS joins Genesis Championship as cloud AI partner to improve golf broadcast experience

    From left, Elaine Chiasson, AWS global head of golf technology, and Graham Gifford, IT director at the DP…
    #Golf #DPWorldTourChampionship #AmazonWebServices #dpworldtour #GenesisChampionship2026 #KPGA #WoojeongHillsCountryClub
    europesays.com/golf/83460/

  3. Wood Buffalo: More Than Just Bison

    Canada's largest national park, Wood Buffalo, is a UNESCO site for two reasons. It protects the world's largest free-roaming wood bison herd, but also the Peace-Athabasca Delta, one of the planet's largest freshwater deltas. This vital wetland is a critical stop for millions of migratory birds. #Canada #WoodBuffalo #UNESCO #Bison 🇨🇦

    en.wikipedia.org/wiki/Wood_Buf

  4. Santana 2027 live im Sparkassenpark Mönchengladbach

    Zu „Samba Pa Ti“ war bereits vor Jahrzehnten Engtanz angesagt, „Black Magic Woman“ garantiert bis heute laszive Hüftschwünge…
    #Moenchengladbach #Deutschland #Deutsch #DE #Schlagzeilen #Headlines #Nachrichten #News #Europe #Europa #EU #Mönchengladbach #Alben #Album #Anruf #CarlosSantana #Germany #Hits #Jahrzehnten #landete #Nordrhein-Westfalen #Supernatural #Woodstock
    europesays.com/de/1366586/

  5. Woodson is back on the Steelers train. #Steelers #NFL

  6. Woohoo! So happy to see the first commercial flight, Jetstar JQ362 to the Gold Coast, depart from the brand new Western Sydney International Airport (aka Nancy Bird-Walton) in Australia.

    #australia #aviation #sydney #WSI #airport #AvGeek

  7. I used a jigsaw and made my first fence in order to square up and cut the edges of a log. I am working towards natural shelf number 3. The grain / bark is beautiful.

  8. Woooah Volk. What a legend. Finishes Movsar Evloev in the second. Hard to push back on his featherweight GOAT case now. Unreal. #UFC333

  9. I run the WooCommerce store behind a small online clothing shop. Most of the orders are made to order and ship from print partners in several countries, so the delivery promise differs by destination. Google's merchant listings can show that promise, and the return window, right in search results, but only if the product markup says so. WooCommerce's built-in Product schema does not.

    This post walks through adding hasMerchantReturnPolicy and shippingDetails to the offer that WooCommerce already prints, without a plugin.

    What WooCommerce outputs by default


    WooCommerce prints JSON-LD for each product through the WC_Structured_Data class. The offer part comes from generate_product_data(), and before it is added to the markup it passes through a filter:

    apply_filters( 'woocommerce_structured_data_product_offer', $markup_offer, $product );

    That filter is the cleanest place to hook in. It receives one offer array and the WC_Product, and whatever you return becomes the offer in the final JSON-LD.

    The return policy


    Schema.org models returns as a MerchantReturnPolicy. For a fixed return window, Google wants the country it applies to, the category of the policy and the number of days. The shop in this example accepts returns for 30 days.

    function shop_return_policy() {
    return array(
    '@type' => 'MerchantReturnPolicy',
    'applicableCountry' => 'US',
    'returnPolicyCategory' => 'https://schema.org/MerchantReturnFiniteReturnWindow',
    'merchantReturnDays' => 30,
    'returnMethod' => 'https://schema.org/ReturnByMail',
    );
    }

    Add returnFees only if you can state it truthfully for every product. Leaving out a property is better than guessing.

    Shipping details per destination


    Delivery time is split into handling time (the days before the parcel leaves) and transit time. Here processing takes 1 to 5 business days, and transit depends on the region, so the code builds one OfferShippingDetails entry per country:

    function shop_shipping_details() {
    $transit = array(
    'US' => array( 8, 15 ),
    'CA' => array( 8, 15 ),
    'GB' => array( 8, 15 ),
    'AU' => array( 10, 20 ),
    );

    $details = array();
    foreach ( $transit as $country => $days ) {
    $details[] = array(
    '@type' => 'OfferShippingDetails',
    'shippingDestination' => array(
    '@type' => 'DefinedRegion',
    'addressCountry' => $country,
    ),
    'shippingRate' => array(
    '@type' => 'MonetaryAmount',
    'value' => SHOP_SHIPPING_RATE, // your real rate for this destination
    'currency' => 'USD',
    ),
    'deliveryTime' => array(
    '@type' => 'ShippingDeliveryTime',
    'handlingTime' => array(
    '@type' => 'QuantitativeValue',
    'minValue' => 1,
    'maxValue' => 5,
    'unitCode' => 'DAY',
    ),
    'transitTime' => array(
    '@type' => 'QuantitativeValue',
    'minValue' => $days[0],
    'maxValue' => $days[1],
    'unitCode' => 'DAY',
    ),
    ),
    );
    }
    return $details;
    }

    The rate is a constant here on purpose. If the rate differs by country or by cart total, read it from your shipping zones instead of hard-coding one number for everything.

    Hooking it in


    add_filter( 'woocommerce_structured_data_product_offer', function ( $offer, $product ) {
    if ( ! $product instanceof WC_Product || ! $product->is_purchasable() ) {
    return $offer;
    }
    $offer['hasMerchantReturnPolicy'] = shop_return_policy();
    $offer['shippingDetails'] = shop_shipping_details();
    return $offer;
    }, 10, 2 );

    Put this in a small site plugin or in the child theme's functions.php. A site plugin survives a theme switch, which is why I prefer it.

    Checking the result


    View the page source of a product and search for application/ld+json. WooCommerce prints the block near the end of the page. Then paste the product URL into Google's Rich Results Test and into the Schema Markup Validator at validator.schema.org. The first tells you whether the page is eligible for merchant listing features, and the second catches typos in types and property names.

    After a few days, the Merchant listings report in Search Console shows whether Google has picked the fields up across the catalog, along with any products that are missing a required property.#woocommerce #wordpress #php #seo #software #coding #development #engineering #inclusive #community
    Adding return and shipping details to WooCommerce product schema

  10. Woo-hoo! Here's another attempt at an oil pastel #portrait

    I am determined to learn this medium, and I alternate between pure joy and utter despair 😆 🤣

    Please 🙏 encourage me 🥺

    #atelierjoyau #mastoArt #fediart #art #oilPastel

  11. Zoe Woods scores Mustang Cup drive as birthday surprise

    Former GT4 racer Zoe Woods becomes the second female to enter Mustang Cup Australia. Image: Supplied National motorsport…
    #NewsBeep #News #Motosport #AU #Australia #Motor #Motorsports #Motosports #MustangCupAustralia #SpeedSeries #sports
    newsbeep.com/au/942600/

  12. Brandon Woodruff’s Full-Circle Moment Made Brewers’ Game 3 Win Even Sweeter

    The Brewers’ eight-run fifth inning was undoubtedly the defining moment of Milwaukee’s Game 3 win in Tampa Bay,…
    #NewsBeep #News #MLB #AU #Australia #brandonwoodruff #event_recap #MajorLeagueBaseball #MilwaukeeBrewers #MLB-MilwaukeeBrewersvs.TampaBayRays-10/26/2026 #sports #worldseries
    newsbeep.com/au/942446/

  13. @robin_wood @HoernchenCecile

    Solche Fälle meinte ich. mstdn.social/@XR_Nuernberg_sun
    Wo #Barrierefreiheit fehlt, muss eine Alternative her.
    Z.B. ne mobile Rolli-Rampe nebst 2 Schiebekräften in Bereitschaft im Bahnhof.
    Geht auch. Wenn's halt anders nicht zu haben ist.

    Ah. Aber da werden dann Sicherheitsbedenkenträger ankommen, dass Rampe zu gefährlich, Rolli-Schiebende vielleicht unter den Rolli geraten könnten und all sowas. ☹️

    Über Depressionsgefahr bei Betroffenen aber redet sicher niemand. 😠

Share on Mastodon

Enter the server where you have an account.