Je souhaite charger les détails des produits sur ma page personnalisée. Existe-t-il un moyen d'utiliser le url key
comme http://localhost/mysite/product/samsung-1
.L'URL samsung-1
est la clé de ce produit.Je veux l'utiliser et obtenir des détails sur le produit, tels que nom, description et attributs .Puis-je faire cela en utilisant url key
ou je dois utiliser id pour this.thanks, j'ai essayé ce code, mais cela utilise id:
<?php $post = get_post('5653'); //assuming $id has been initialized
echo "<pre/>";
print_r($post);
wp_reset_postdata();?>
Vous pouvez simplement utiliser la fonction existante get_page_by_path()
pour cela, qui possède un troisième paramètre $post_type
que vous pouvez spécifier. Dans votre cas, une publication du type de publication personnalisé product
correspond à vos souhaits.
Exemple de base:
$product_obj = get_page_by_path( $slug, OBJECT, 'product' );
Vous pouvez utiliser la fonction suivante
/**
* Retrieve a product given its slug.
*/
function get_product_by_slug($page_slug, $output = OBJECT) {
global $wpdb;
$product = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_name = %s AND post_type= %s", $page_slug, 'product'));
if ( $product )
return get_post($product, $output);
return null;
}
Usage:
$product = get_product_by_slug('samsung-1');
Ce n'est pas testé si