如何链接到标准帖子格式的所有帖子

时间:2011-07-12 作者:pollyplummer

为什么这样不行?!<?php echo get_post_format_link(\'standard\');?>

:(有什么提示吗?所有其他格式都可以。

3 个回复
SO网友:Rahman Sharif

把这个放在你的函数中。php

function akv3_query_format_standard($query) {
    if (isset($query->query_vars[\'post_format\']) &&
        $query->query_vars[\'post_format\'] == \'post-format-standard\') {
        if (($post_formats = get_theme_support(\'post-formats\')) &&
            is_array($post_formats[0]) && count($post_formats[0])) {
            $terms = array();
            foreach ($post_formats[0] as $format) {
                $terms[] = \'post-format-\'.$format;
            }
            $query->is_tax = null;
            unset($query->query_vars[\'post_format\']);
            unset($query->query_vars[\'taxonomy\']);
            unset($query->query_vars[\'term\']);
            unset($query->query[\'post_format\']);
            $query->set(\'tax_query\', array(
                \'relation\' => \'AND\',
                array(
                    \'taxonomy\' => \'post_format\',
                    \'terms\' => $terms,
                    \'field\' => \'slug\',
                    \'operator\' => \'NOT IN\'
                )
            ));
        }
    }
}
add_action(\'pre_get_posts\', \'akv3_query_format_standard\');
More information here.

SO网友:shawn
<?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(); ?>

from

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

SO网友:miqronaut

将非标准post格式分配给post时,会将记录添加到wp\\U term\\U relationships表中。此记录包含您的帖子编号和term\\u taxonomy\\u id,它通过wp\\u term\\u关系连接到wp\\u terms中的帖子格式。为帖子指定标准帖子格式时,不会将帖子格式记录添加到wp\\U term\\U关系中。如果以前为其分配了其他post格式并更改为标准,则该记录将从wp\\U term\\U关系中删除。不幸的是,get\\u post\\u format\\u链接依赖于在wp\\u term\\u关系中拥有该记录,因此无法使用标准post格式。

例如,当我将帖子的post格式更改为image时,一条记录被添加到wp\\u term\\u关系中,该关系最终指向wp\\u terms>>post format image。当我将帖子的帖子格式更改为Standard时,这条记录消失了。在WP的代码库中,get\\u post\\u format\\u link使用get\\u term\\u by(\'slug\',\'post format-\'.$format,\'post\\u format\'),由于缺少标准的相关post format记录,我们都输了:-D

这可能会回答您最初的问题,即为什么它不起作用。我希望我能提供一个巧妙的解决方案,尤其是考虑到你的WordPress帖子非常有用!

结束

相关推荐

Merge posts plugin?

有谁知道有一个插件能够将帖子元从一篇帖子合并到另一篇帖子中吗?我正在重新发布浮木联系人管理器主题,并试图找到解决重复联系人问题的方法。显然,这个问题可能影响的人远远不止我自己。:)