2
ワードプレスサポートスティックポスト機能。スティック情報をsticky_posts
というテーブルwp_options
に保存して、自動ロードします。Wordpressでスティッキーポストを実装するには?
私はwpによって作成されたSQLを掘り下げます(my.cnfにlog = /tmp/mysql.log
を追加します)。 wordpressのインデックスページを開きます。スティッキーポストは正常に表示されます。しかし、私はSQLを見て、すべてのwp_posts関連のSQLを見つけた、使用されるスティックIDはありません。どのようにwpがスティックを実装しましたか?
すべてwp_posts関連クエリ:
130 Query SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private') ORDER BY wp_posts.post_date DESC LIMIT 0, 3
130 Query SELECT * FROM wp_posts WHERE (post_type = 'page' AND post_status = 'publish') ORDER BY menu_order, post_title ASC
130 Query SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish') ORDER BY wp_posts.post_date DESC LIMIT 0, 5
130 Query SELECT YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, count(ID) as posts FROM wp_posts WHERE post_type = 'post' AND post_status = 'publish' GROUP BY YEAR(post_date), MONTH(post_date) ORDER BY post_date DESC
私は答えを得ました。 wordpressは最初にスティックポストが結果に含まれているかどうかをチェックします。はいの場合:何も起こらなかった。いいえの場合は、別のクエリを実行してスティッキー・ポストをフェッチします。それでおしまい。 – limboy