Comment utiliser la fonction hook de wordpress pour ajouter un enregistrement lors de la publication d'un article ?
Cet article explique comment utiliser la fonction de hook WordPress pour ajouter un enregistrement à la table de vote lors de la publication d'un article. Ce qui suit est l'implémentation spécifique, ne la manquez pas
. Recommandé : "Tutoriel WordPress"
Je souhaite trier les articles en fonction du nombre de votes. Ceux qui ont voté verront leurs votes enregistrés, tandis que les articles qui ont voté. Si vous n'avez pas voté, enregistrez, le vote par défaut est 0. À l'heure actuelle, il y a un problème de tri. Il trie d'abord les articles avec des enregistrements, car les votes peuvent être négatifs. Une fois les nombres négatifs triés, les articles sans enregistrements sont triés. Les enregistrements de vote seront triés. À ce moment-là, il y aura des articles sans vote. Les articles avec 0 vote seront classés derrière les nombres négatifs, comme indiqué dans l'image :
<.>
Tableau des enregistrements de vote Déclaration SQL générée :SELECT wp_posts.ID FROM wp_posts LEFT JOIN wp_wti_like_post on wp_wti_like_post.post_id=wp_posts.ID WHERE 1=1 AND ( ( post_date_gmt > ’2013-11-16 12:17:03′ ) ) AND wp_posts.post_type = ‘post’ AND (wp_posts.post_status = ‘publish’ OR wp_posts.post_status = ‘private’) ORDER BY wp_wti_like_post.value DESC,wp_posts.post_date DESC LIMIT 5, 5
//发表文章的同时插入数据到喜欢表 function new_article($post_ID){ global $wpdb; $ip = WtiGetRealIpAddress(); $query = "INSERT INTO {$wpdb->prefix}wti_like_post SET "; $query .= "post_id = '" . $post_ID . "', "; $query .= "value = '0', "; $query .= "date_time = '" . date('Y-m-d H:i:s') . "', "; $query .= "ip = '$ip'"; $success = $wpdb->query($query); if($success){ return $post_ID; }}add_action('publish_post', 'new_article');
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!