我有一个包含2个字段的自定义帖子,第一个字段是用户,第二个字段是表格,每当用户登录时,我必须显示第一个字段中包含该用户的所有帖子这就是我发现的:
在 wp_user 中,我将用于测试的用户ID将包含: user_id = 3
在 wp_postmeta 中,我有一行包含这些值:
-post_id = 92 -meta_value = 3
在 wp_posts 中,在 ID = 92 中,我有我想要的具体帖子名称。
我对如何动态制作此代码非常困惑,因此任何用户都可以看到自己的帖子。 BTW,post_author是管理员,所以我不能使用该字段
基本上,我必须使用meta_value从wp_postmeta中检索post_id,我已经看过几个指南但却无法真正理解如何做到这一点。我知道我必须使用wp_get_current_user()。请有人详细解释如何实现这一目标。
由于
答案 0 :(得分:0)
在你的functions.php中你需要放置这个钩子,每当添加或更新帖子时都会触发这个钩子你需要使用它来保存post元表中的post id。
function enter_post_id( $post_id ) {
wp_get_current_user() // Get current user id with this
update_post_meta()($post_id, $meta_key, $meta_value, $unique)
// add a meta key say 'user_id' and place the value of user_id as meta value
}
add_action( 'save_post', 'enter_post_id' );
现在您已完成匹配,您只需查询帖子元表并获取用户的帖子ID,然后从wp_posts仅显示匹配ID的帖子。
希望这会有所帮助。随意询问您是否有任何困惑。
答案 1 :(得分:0)
没问题:)使用此功能。
function get_post_id(){
global $wpdb;
$result = $wpdb->get_results( "SELECT post_id FROM wp_postmeta WHERE meta_key='user_id' AND meta_value= $user_id ", OBJECT );
// Where $user_id is the id you get from wp_current_user()
}
现在var转储这个$ result以查看post_id
循环执行此操作以获取每个帖子ID的值