質問

シナリオ: サイドバーで折りたたみ可能なパネルを作成し、すべてのカテゴリをDivとして表示し、すべての投稿リンクをそれらのカテゴリDIVに表示しています。簡単です。私はすべてのカテゴリを手に入れました get_categories('orderby=name&order=ASC') そして、すべてのカテゴリをループして、各カテゴリのすべての投稿を取得します。

問題: コード get_posts('nopaging=1&category='.$category->cat_ID) 以外のすべての投稿を私に与えます content そして他のことも。私が望んでいるのは、投稿のパーマリンクです。それでおしまい。使っていると信じています get_posts したがって、20を超えるカテゴリに約1000の投稿があるため、大きなオーバーヘッドが作成されます。

解決: パーマリンクを備えたカテゴリのすべての投稿を、他のもの、特に最大のオーバーヘッドであるため、コンテンツを使用できない関数またはコードの一部。

役に立ちましたか?

解決

カスタムクエリを使用して、必要なものを正確に抽出することを調べます。 http://codex.wordpress.org/displaying_posts_using_a_custom_select_query

クエリを選択することは、物事が互いにオーバーライドし始めるときにクエリを選択することはワードプレスで楽しいgotchaになる可能性があるため、カスタムコールを終えた後にもwp_reset_query()を使用することもできます。 http://codex.wordpress.org/function_reference/wp_reset_query

コメントの後に編集:wp_term_relationshipsとwp_postsの間の結合を使用する必要があります。おそらく、適切な尺度でスローされたwp_term_taxonomyを使用しても3方向です。

正直に言うと、私は気にしません - それは多くの利益のために多くの仕事です。 1000のレコードはそれほどそれほど多くはありません。WordPressはすでにwp_postsのインデックスを使用してクエリを最適化しています。 WP Super Cacheプラグインを使用して訪問者向けの静的HTMLファイルを生成することにより、おそらくより良い結果が得られるでしょう( http://wordpress.org/extend/plugins/wp-super-cache/ )CORE WPクエリを複製することにより、選択から削除された少数の列を使用して。

他のヒント

あなたはすでに使用しようとしました:

the_permalink()  

http://codex.wordpress.org/function_reference/the_permalink

get_permalink( $id )    

http://codex.wordpress.org/function_reference/get_permalink

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top