ユーザーが購入したすべての製品 (デジタル アクセス パス) を一覧表示するループを次に示します。各製品の横に、Wordpress の記事の注目の画像を表示したいと考えています。ただし、DAP 製品と Wordpress の投稿の間には確固たる関係はありません。したがって、これに対する私の回避策は、DAP 製品が WP Post と同じ名前/タイトルであることを確認することです。私の問題は、これまでのコード (ハッシュ タグ間) を使用すると、基本的にループ内の各 DAP 製品のクエリを実行するため、X 量の DAP 製品の重複を吐き出すことです。
したがって、3 つの DAP 製品があり、そのうちの 2 つが WP の投稿と一致するタイトルを持っている場合、結果は次のようになります...
16521652
それが理にかなっていることを願っています。任意の支援に感謝します。
global $wpdb;
//loop over each product from the list
foreach ($userProducts as $userProduct) {
if($productid != "ALL") {
$productIdArray = explode(",",$productid);
//if( $userProduct->getProduct_id() != $productid ) {
if( !in_array($userProduct->getProduct_id(), $productIdArray) ) {
continue;
}
}
$product = Dap_Product::loadProduct($userProduct->getProduct_id());
$expired = false;
if($user->hasAccessTo($product->getId()) === false) {
$expired = true;
}
//##########################################################################
/*1.Get post ID by post title if you know the title or the title variable*/
$postid = $wpdb->get_var( "SELECT ID FROM $wpdb->posts WHERE post_title = '" . $product->getName() . "'" );
$postname = $wpdb->get_var( "SELECT post_title FROM $wpdb->posts WHERE post_title = '" . $product->getName() . "'" );
if ($product->getName() == $postname):
echo $postid;
endif;
/*2.use get_post($post_id) to get whatever you want to echo*/
$getpost= get_post($postid);
$postcontent= $getpost->post_content;
echo $postcontent;
//##########################################################################
$content .= '</div>';
$content .= '<br/><br/>';
} //end foreach
return $content;