web-dev-qa-db-ja.com

標準の投稿フォーマットを持つすべての投稿にリンクする方法

なぜこれが機能しないのですか。 <?php echo get_post_format_link('standard');?>

:(どんなヒント?他のすべてのフォーマットは動作します。

1
pollyplummer
<?php
$args = array(
'showposts' => 9,
'tax_query' => array(
        array( 'taxonomy' => 'post_format',
              'field' => 'slug',
              'terms' => array('post-format-video','post-format-quote'),
              'operator' => 'NOT IN'
              )
        )
);
query_posts( $args );
while ( have_posts() ) : the_post(); ?>

    <?php the_title(); ?>

<?php endwhile; wp_reset_query(); ?>

から

http://www.tristarwebdesign.co.uk/blog/wordpress/query-by-post-format-in-wordpress/

0
shawn

非標準の投稿フォーマットを投稿に割り当てると、レコードがwp_term_relationshipsテーブルに追加されます。このレコードには、投稿番号とterm_taxonomy_idが含まれています。これは、wp_term_relationshipsを介してwp_termsの投稿形式に結合されます。標準の投稿フォーマットを投稿に割り当てると、投稿フォーマットのレコードはwp_term_relationshipsに追加されません。以前に別の投稿フォーマットが割り当てられ、標準に変更された場合、そのレコードはwp_term_relationshipsから削除されます。残念ながら、get_post_format_linkはそのレコードをwp_term_relationshipsに格納することに依存しているため、標準投稿形式では機能しません。

たとえば、投稿の投稿形式をimageに変更したときに、wp_term_relationshipsにレコードが追加されました。これは、最終的にwp_terms >> post-format-imageを指していました。投稿の投稿形式を[標準]に変更すると、このレコードは消えました。 WPのコードベースでは、get_post_format_linkはget_term_by( 'slug'、 'post-format-'。$ format、 'post_format')を使用していますが、Standardの関連する投稿フォーマットレコードが欠けていると、すべて失います。 :-D

これはなぜうまくいかないのかというあなたの最初の質問に答えるかもしれません。特にあなたの非常に役立つWordPressの投稿を考えると、私は滑らかな解決策を提供できることを願っています!

0
miqronaut