Goedkoopste Webdesign
WooCommerce-productgegevens met behulp van PHP

WooCommerce-productgegevens

Krijg eenvoudig toegang tot alle WooCommerce-productgegevens met behulp van PHP.

Zodra u het $product-object beschikbaar heeft in WooCommerce, is het heel eenvoudig om alle gegevens op te halen waarnaar u mogelijk op zoek bent.

Dit omvat het vinden van de producttitel, prijs, verkoopprijs, afbeeldingen en andere instellingen die u in de backend van WooCommerce heeft ingesteld.

Om te beginnen zal ik de lijst met methoden dumpen die voor u beschikbaar zijn zodra u het $product-object hebt.

Zorg ervoor dat u een van de onderstaande methodeverzoeken toewijst aan een variabele naar keuze, zodat u ermee kunt werken.

<?php

/**
*

  • General Product Data
    *
    */
    $product->get_id(); // Returns the unique ID for this object.
    $product->get_description(); // Get product description.
    $product->get_formatted_name(); // Get product name with SKU or ID. Used within admin.
    $product->get_featured(); // If the product is featured.
    $product->get_name(); // Get product name.
    $product->get_title(); // Get the product’s title. For products this is the product name.
    $product->get_type(); // Get internal type. Should return string and *should be overridden* by child classes.
    $product->get_virtual(); // Get virtual.
    $product->get_total_sales(); // Get number total of sales.
    $product->get_short_description(); // Get product short description.
    $product->get_sku(); // Get SKU (Stock-keeping unit) – product unique ID.
    $product->get_slug(); // Get product slug.
    $product->get_status(); // Get product status.
    $product->get_permalink(); // Product permalink.
    $product->get_catalog_visibility(); // Get catalog visibility.

/**
*

  • Pricing Data
    *
    */
    $product->get_price(); // Returns the product’s active price.
    $product->get_date_on_sale_from(); // Get date on sale from.
    $product->get_date_on_sale_to(); // Get date on sale to.
    $product->get_display_price(); // Returns the price including or excluding tax, based on the ‘woocommerce_tax_display_shop’ setting.
    $product->get_price_excluding_tax(); // Returns the price (excluding tax) – ignores tax_class filters since the price may *include* tax and thus needs subtracting.
    $product->get_price_html(); // Returns the price in html format.
    $product->get_price_html_from_text(); // Functions for getting parts of a price, in html, used by $product->get_price_html.
    $product->get_price_html_from_to(); // Functions for getting parts of a price, in html, used by $product->get_price_html.
    $product->get_price_including_tax(); // Returns the price (including tax). Uses customer tax rates. Can work for a specific $qty for more accurate taxes.
    $product->get_price_suffix(); // Get the suffix to display after prices > 0.
    $product->get_sale_price(); // Returns the product’s sale price.
    $product->get_regular_price(); // Returns the product’s regular price.
    $product->get_tax_class(); // Returns the tax class.
    $product->get_tax_status(); // Returns the tax status.

/**
*

  • Image Related Data
    *
    */
    $product->get_image(); // Returns the main product image.
    $product->get_image_id(); // Get main image ID.
    $product->get_gallery_attachment_ids(); // Returns the gallery attachment ids.
    $product->get_gallery_image_ids(); // Returns the gallery attachment ids.

/**
*

  • Stock or Inventory Data
    *
    */
    $product->get_backorders(); // Get backorders.
    $product->get_availability(); // Returns the availability of the product.
    $product->get_max_purchase_quantity(); // Get max quantity which can be purchased at once.
    $product->get_min_purchase_quantity(); // Get min quantity which can be purchased at once.
    $product->get_stock_managed_by_id(); // If the stock level comes from another product ID, this should be modified.
    $product->get_stock_quantity(); // Returns number of items available for sale.
    $product->get_stock_status(); // Return the stock status.
    $product->get_total_stock(); // Get total stock – This is the stock of parent and children combined.
    $product->get_sold_individually(); // Return if should be sold individually.
    $product->get_low_stock_amount(); // Get low stock amount.

/**
*

  • Shipping Data
    *
    */
    $product->get_height(); // Returns the product height.
    $product->get_length(); // Returns the product length.
    $product->get_weight(); // Returns the product’s weight.
    $product->get_width(); // Returns the product width.
    $product->get_dimensions(); // Returns formatted dimensions.
    $product->get_manage_stock(); // Return if product manage stock.
    $product->get_shipping_class(); // Returns the product shipping class SLUG.
    $product->get_shipping_class_id(); // Get shipping class ID.

/**
*

  • Product Variations / Parent Data
    *
    */
    $product->get_child(); // Returns the child product.
    $product->get_children(); // Returns the children IDs if applicable. Overridden by child classes.
    $product->get_formatted_variation_attributes(); // Get formatted variation data with WC < 2.4 back compat and proper formatting of text-based attribute names. $product->get_matching_variation(); // Match a variation to a given set of attributes using a WP_Query.
    $product->get_parent(); // Get the parent of the post.
    $product->get_parent_id(); // Get parent ID.
    $product->get_variation_default_attributes(); // If set, get the default attributes for a variable product.
    $product->get_variation_description(); // Get product variation description.
    $product->get_variation_id(); // Get variation ID.

/**
*

  • Product Downloads
    *
    */
    $product->get_download_expiry(); // Get download expiry.
    $product->get_download_limit(); // Get download limit.
    $product->get_downloadable(); // Get downloadable.
    $product->get_downloads(); // Get downloads.
    $product->get_file(); // Get a file by $download_id.
    $product->get_file_download_path(); // Get file download path identified by $download_id.
    $product->get_files(); // Same as $product->get_downloads in CRUD.

/**
*

  • Attributes, Tags, Categories & Associated Data Objects
    *
    */
    $product->get_attribute(); // Returns a single product attribute as a string.
    $product->get_attributes(); // Returns product attributes.
    $product->get_categories(); // Returns the product categories.
    $product->get_category_ids(); // Get category ids.
    $product->get_default_attributes(); // Get default attributes.
    $product->get_cross_sell_ids(); // Get cross sell IDs.
    $product->get_cross_sells(); // Returns the cross sell product ids.
    $product->get_related(); // Get and return related products.
    $product->get_tag_ids(); // Get tag ids.
    $product->get_tags(); // Returns the product tags.
    $product->get_upsell_ids(); // Get upsell IDs.
    $product->get_upsells(); // Returns the upsell product ids.
    $product->get_meta(); // Get Meta Data by Key.
    $product->get_meta_data(); // Get All Meta Data.

/**
*

  • Ratings and Reviews
    *
    */
    $product->get_rating_count(); // Get the total amount (COUNT) of ratings, or just the count for one rating e.g. number of 5 star ratings.
    $product->get_rating_counts(); // Get rating count.
    $product->get_rating_html(); // Returns the product rating in html format.
    $product->get_review_count(); // Get review count.
    $product->get_reviews_allowed(); // Return if reviews is allowed.
    $product->get_average_rating(); // Get average rating.

/**
*

  • Other Product Data
    *
    */
    $product->get_changes(); // Return data changes only.
    $product->get_data(); // Returns all data for this object.
    $product->get_data_keys(); // Returns array of expected data keys for this object.
    $product->get_data_store(); // Get the data store.
    $product->get_date_created(); // Get product created date.
    $product->get_date_modified(); // Get product modified date.
    $product->get_extra_data_keys(); // Returns all “extra” data keys for an object (for sub objects like product types).
    $product->get_menu_order(); // Get menu order.
    $product->get_meta_cache_key(); // Helper method to compute meta cache key. Different from WP Meta cache key in that meta data cached using this key also contains meta_id column.
    $product->get_object_read(); // Get object read property.
    $product->get_post_data(); // Get the product’s post data.
    $product->get_post_password(); // Get post password.
    $product->get_purchase_note(); // Get purchase note.

Productgegevens toewijzen aan een variabele

Om glashelder te zijn, als ik zeg dat je de methoden aan een variabele moet toewijzen, bedoel ik dit daarmee:

global $product;

// Assign product name
$product_name = $product->get_name(); // Get product name.

// Wrap product name in h2 and output it
echo ‘

‘ . $product_name . ‘

‘;

Hoe toegang te krijgen tot het $product-object

U moet ervoor zorgen dat u toegang hebt tot het productobject. Als u een van de methoden probeert uit te voeren op een variabele die geen productobject is, krijgt u een fatale fout.

Afhankelijk van waar u zich bevindt in uw WordPress-installatie en wat u doet, kunt u op verschillende manieren toegang krijgen tot het $product-object.
Toegang krijgen tot het $product-object als u de product-ID hebt

Dit is een eenvoudige, als je de product_id hebt, heb je toegang tot het productobject met behulp van de volgende WooCommerce-functie:

// Get $product object from product ID
$product = wc_get_product( $product_id );

// Do your thing
$product->get_type();
$product->get_name();

Toegang krijgen tot het $product-object als u zich in een querylus bevindt

global $post;

// Get post id
$post_id = $post->ID;

// Get product object
$product = wc_get_product( $post_id );
$product = wc_get_product( $post ); // Or just do it directly

// Go on then…
$product->get_price();

Toegang krijgen tot het $product-object als u iets op de productpagina doet

// Done
global $product;

$product->get_price();

Hoe toegang te krijgen tot het $product-object als u het winkelwagen-object opent

// Cart Object
$cart = WC()->cart->get_cart();

foreach( $cart as $cart_item_key => $cart_item ){

// Product Object
$product = $cart_item['data'];

// Start accessing data
$price = $product->get_price();

}

Een woord van voorzorg

Als je methoden gebruikt op klasse-objecten in php – wat wordt gedaan door $variable->method(), als je dit probeert te doen op een variabele die geen object is of als de methode niet beschikbaar is, zal het een fatale fout opleveren.

Dit betekent dat al het script niet meer wordt uitgevoerd en afhankelijk van waar u deze code heeft geplaatst, wordt uw website afgesloten.

Maak je geen zorgen – de schade is niet blijvend zolang je de wijziging ongedaan maakt.

Hoe dan ook, er is veel dat u kunt doen om ervoor te zorgen dat u vrijuit bent, maar hier is een heel eenvoudige kleine controle.

Het is niet de meest onfeilbare, maar ik gebruik dit vaak omdat het eenvoudig en snel te schrijven is en het me uit de problemen haalt voor bijna alle use-cases waarin ik me bevind.

// Check to make sure this is an object
if ( is_object($product) ) {

// Then do what we’re going to do $product_name = $product->get_name();

}

WooCommerce-productgegevens – WooCommerce-productgegevens – WooCommerce-productgegevens – WooCommerce-productgegevens – WooCommerce-productgegevens

WordPress dashboard

Het eerste wat je ziet na het inloggen is het WordPress dashboard, dat bestaat uit twee kolommen. links kleine kollom en rechts een grote kollom. In de rechterkolom zie je hoe je website ervoor staat, bijvoorbeeld hoeveel pagina’s er op je website staan, hoeveel berichten er zijn geplaatst en hoeveel reacties er zijn. Geen paniek, al deze begrippen worden verderop in deze handleiding besproken.

WordPress dashboard

De linkerkolom is het belangrijkste, dat is namelijk het menu van de WordPress beheersomgeving. Dit menu kan per WordPress site verschillen en is daarnaast afhankelijk van welke rechten je hebt (later meer daarover), maar hieronder volgen de belangrijkste onderdelen:

  • Berichten : hier kun je blogberichten, nieuwsberichten, aanbiedingen enzovoorts plaatsen en bewerken
  • Media : hier kun je foto’s, video’s en andere media toevoegen en bewerken
  • Pagina’s : hier kun je teksten en afbeeldingen plaatsen op de pagina’s van je website
  • Reacties : hier vind je reacties van mensen op je berichten
  • Profiel* : hier kun je je persoonlijke informatie en voorkeuren aanpassen
  • Gereedschap : hier vind je enkele extra tools

Wanneer je “beheerder” rechten hebt zie je nog enkele onderdelen:

  • Weergave : hier kun je zaken als het thema, de widgets en de menu’s aanpassen
  • Plugins : hier kun je alle WordPress plugins beheren
  • Gebruikers : hier kun je gebruikers beheren en aanmaken (* Als je een beheerdersaccount hebt kun je hier je profiel aanpassen)
  • Instellingen : hier kun je de instellingen van je WordPress website beheren

Ook voor al deze onderdelen geldt : geen paniek, op de website wordt alles duidelijk uitgelegd met meerdere berichten. Maar heeft u toch nog vragen neem dan gerust contact met ons op.

Teksten op je WordPress site zetten of aanpassen

Je kunt met WordPress op 2 manieren teksten en afbeeldingen op je website plaatsen : op een pagina of in een bericht.

De “vaste” onderdelen van je website worden op pagina’s geplaatst. Pagina’s vind je meestal ook terug in het navigatiemenu van een website. Zo zijn “Home”, “Website laten bouwen”, “Website laten verbeteren” en “Contact” pagina’s op mijn website. Ook “Blog” is een pagina, maar dan wel een speciale: dat is namelijk de pagina waarop de berichten getoond worden. Alle tutorials, reviews en andere artikelen zijn berichten. Daarnaast worden berichten vaak gebruikt voor nieuws items, aanbiedingen etcetera.

In de basis zit er niet zoveel verschil tussen een bericht en een pagina. Het plaatsen en aanpassen van teksten en afbeeldingen werkt namelijk precies hetzelfde.