私は自分のカスタムページに製品の詳細をロードしたいと思います。私はurl key
のようなhttp://localhost/mysite/product/samsung-1
を使うことができるあらゆる方法があります。この製品のキーはsamsung-1
です。私はurl key
を使用してこれを行うか、私はthis.thanksのためにidを使用する必要がありますが、これはidを使用します。
<?php $post = get_post('5653'); //assuming $id has been initialized
echo "<pre/>";
print_r($post);
wp_reset_postdata();?>
これには、既存の関数 get_page_by_path()
を使用するだけです。これには、指定できる3番目のパラメータ$post_type
があります。あなたの場合、カスタム投稿タイプproduct
からの投稿が欲しいものです。
基本的な例:
$product_obj = get_page_by_path( $slug, OBJECT, 'product' );
以下の機能が利用できます
/**
* 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;
}
使用法:
$product = get_product_by_slug('samsung-1');
まだテストされていません