sid*_*son 6 php wordpress timber
我在Wordpressusing Timber和Route方法中构建了一个自定义归档页面.页面运行良好并显示组合,Custom Post Types但{url}/feed处的Feed不存在.
注意:以前的答案已经过编辑,可以解决令人困惑的问题.
// create CPT (x 3)
register_post_type($name, array(
'label' => 'custom1',
'public' => true,
'capability_type' => 'page',
'supports' => array( 'title', 'author', 'excerpt', 'revisions', 'thumbnail'),
'taxonomies' => array('post_tag'),
'has_archive' => true
));
// CPT route
Routes::map('test/filter/:filter', function($params){
$query = array(
'post_type' => array('custom1', 'custom2', 'custom3' )
);
$filter = $params;
Routes::load('archive.php', $filter, $query, 200);
});
// paging CPT route
Routes::map('test/filter/:filter/page/:page', function($params){
$query = array(
'post_type' => array('custom1', 'custom2', 'custom3' ),
'paged' => intval($params['page'])
);
$filter = $params;
Routes::load('archive.php', $filter, $query, 200);
});
Run Code Online (Sandbox Code Playgroud)
@sidonaldson:啊现在我明白你在寻找什么了!是的,这发生在 WP 级别,而不是木材级别
\n\nadd_action( 'pre_get_posts', function ( $query ) {\n if ( $query->is_main_query() && !is_admin() && is_post_type_archive('agency')) {\n $query->set( 'post_type', array('post', 'custom', 'custom2') );\n }\n} ); \nRun Code Online (Sandbox Code Playgroud)\n\n@sidonaldson \xe2\x80\x94 这是一个未经测试的答案,但以下是值得尝试的内容:
\n\nquery_posts基本上在 WordPress 中相当于一把大锤,它会影响 RSS、分页和其他一切。这是应该起作用的...
$posts_query = array(\n 'post_type' => array('post', 'custom', 'custom' ),\n 'tag__in' => $tag_array,\n 'orderby' => 'date',\n 'post_status' => 'publish',\n 'paged' => $paged\n);\n// First let's get this set for pagination\nquery_posts($posts_query);\n$context['posts'] = Timber::get_posts($posts_query);\n$context['pagination'] = Timber::get_pagination();\n\n// now let's use it to hit RSS\n$post = new TimberPost('override_page_slug');\nquery_posts(array( 'p' => $post->ID ));\n$context['post'] = $post;\n\nTimber::render( 'page-override_page_slug.twig', $context );\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
879 次 |
| 最近记录: |