プラグインが機能しなかったため、独自のお気に入りの投稿ソリューションを作成しています。そこで、2列のユーザーIDと投稿IDを持つwp_favoritesというWPデータベースに新しいテーブルを作成しました。私はすでに挿入を行っており、機能しています。テーブルからデータを取得するのに問題があります。コードは次のとおりです。
function is_favorite($pid, $uid)
{
global $wpdb;
$q = $wpdb->prepare("SELECT * FROM wp_favorites WHERE uid=$uid AND pid=$pid;");
echo $q;
$res = $wpdb->get_results($q);
var_dump($res);
return(count($res)>0);
}
出力 ($q) をコピーして PHPmyAdmin に挿入すると、完全に機能します。ただし、 $res の出力は常に空の配列 (array(0) { } ) です。準備をせずに試してみましたが、他のバリエーションもいくつか試しましたが、うまくいきません。
お気に入りの投稿を表示しようとすると、同じことが起こります。
<?php
/*
Template Name: Favorites
*/
?>
<?php
get_header();
get_sidebar();
global $wpdb;
$q = "
SELECT * FROM wp_favorites
LEFT JOIN wp_posts ON wp_favorites.pID = wp_posts.ID
WHERE wp_favorites.uID = 1
";
$pageposts = $wpdb->get_results($q, OBJECT);
var_dump($pageposts);
?>
<div id='content_and_floater'>
<?php get_template_part('social_floater'); ?>
<div id='content'>
<?php get_template_part('loop'); ?>
</div>
</div>
<?php
get_footer();
?>
結果は、やはり空の配列です。何か案は ?