我的网站看起来像:
Page-1 (page.php
)
。。。Subpage-1 (custom-collection.php
; 自定义帖子类型)
。。。。。。Filtering Output-Post (custom-collection-single.php
)
当我使用打开过滤输出帖子时/%postname%
对于permalinks,我得到404错误页。
一些代码:
custom-collection.php
<?php $args = array( \'post_type\' => \'weine\', \'posts_per_page\' => -1, \'orderby\' => \'rand\' );
// ============================= WHITEWINE ===============================
if( is_page(\'147\') ) {
$args = array(
\'tax_query\' => array(
array(
\'taxonomy\' => \'sorte\',
\'field\' => \'slug\',
\'terms\' => array(\'weisswein\')
)
)
);
}
// ============================= REDWINE ===============================
。。。
// =========================== All WINES ==================================
else {}
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<a class="item" rel="wine" href="<?php the_permalink(); ?>" >
<?php the_post_thumbnail(\'wine-flow\', array(\'class\' => \'content\')); ?>
<!-- <div class="label">Slider Label</div> -->
</a>
<?php endwhile; ?>
custom-collection-single.php <?php get_template_part( \'loop\', \'single-empty\' ); ?>
<?php
echo \'<div class="wein-bottle-thumb">\';
the_post_thumbnail(\'wine-flow\');
echo \'...\';
?>
The Loop (循环single empty.php)
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
<?php endwhile; ?>
一
<?php get_template_part( \'loop\', \'single-empty\' ); ?>
<?php
echo \'<div class="wein-bottle-thumb">\';
the_post_thumbnail(\'wine-flow\');
echo \'...\';
?>
当我使用标准permalinks时,一切都很好
。htaccess:<IfModule mod_rewrite.c> ...
处于活动状态谢谢你的帮助
奥尼
SO网友:Tom J Nowell
你的设置到处都是。请参阅此处的视觉概述:
http://codex.wordpress.org/Template_Hierarchy#Visual_Overview
您的页面将使用page.php
样板
您的自定义帖子类型weine
将使用single-weine.php
自定义分类法sorte
(可能不是最好的名称,因为它可能会冲突)将使用模板taxonomy-sorte.php
因此,我们可以预期,默认情况下,会有一篇标题为“示例”的weine帖子:
example.com/weine/example
以及
sorte
分类术语“ExampleSorter”的存档位置为:
example.com/sorte/examplesorte
我想你要做的是改变它
/weine/
, 或者你认为使用postname会改变“weine”帖子的链接。这是不正确的,虽然有代码可能会改变这一点,但我强烈建议不要这样做,因为它会带来危险的永久性冲突。如果您使用
weine
URL结构对您有利。
e、 g.我建议修改sorte
要使用的分类法weine/sorte
作为基础,为您提供URL,例如:
example.com/weine/sorte/examplesorte
刷新重写的注意事项当自定义帖子类型和分类法更改时,需要刷新它们,
but 永远不要穿上
admin_init
或
init
. 重新生成重写规则的速度很慢,成本也很高,如果将其放在这些挂钩上,就会大大降低网站的速度,并引入潜在的bug和问题。
我也不想尝试将自定义帖子类型设置为普通页面的类型。在重写库中使用slug,但不要超过这个范围。