首先,如果有任何愚蠢行为,我很抱歉,这是我的第一个wordpress网站。
我需要用户能够创建项目'通过仪表板。所有项目的列表' (很像博客)会出现在' Projects'这个网站的页面。
我通过将以下代码添加到我的子主题的functions.php中来创建自定义帖子类型:
function project_init() {
$labels = array(
'name' => _x( 'Projects','post type general name'),
'singular_name' => _x( 'Project', 'post type singular name'),
'all_items' => __('All Projects'),
'add_new' => _x('Add New Project', 'Projects'),
'add_new_item' => __('Add New Project'),
'edit_item' => __('Edit Project'),
'new_item' => __('New Project'),
'view_item' => __('View Project'),
'search_items' => __('Search in Projects'),
'not_found' => __('No Projects found'),
'not_found_in_trash' => __('No Projects found in trash'),
'parent_item_colon' => ''
);
$args = array(
'label' => 'projects',
'labels' => $labels,
'public' => true,
'show_ui' => true,
'capability_type' => 'post',
'has_archive' => true,
'hierarchical' => false,
'rewrite' => array('slug' => 'projects'),
'query_var' => true,
'menu_icon' => 'dashicons-hammer',
'taxonomies' => array( 'category' ),
'supports' => array(
'title',
'editor',
'excerpt',
'trackbacks',
'custom-fields',
'comments',
'revisions',
'thumbnail',
'author',
'page-attributes',)
);
register_post_type( 'projects', $args );
}
add_action( 'init', 'project_init', 0 );
到目前为止,CPT工作正常,我所做的所有测试项目都出现在项目页面上。
问题:
现在我希望有2个不同的页面。 “当前项目”的一个页面,以及“完成”的另一个页面'项目'
'当前项目'将列在' Projects'页面.......但是当用户更改某个当前项目的内容时,如类别,标签或其他内容(我不确定该机制应该是什么),并且他们会从'当前项目'对于已完成的项目',该项目元素将从其当前页面中删除,并显示在已完成的项目中。页。
对我来说,最好的方法是什么?我已经尝试添加"已完成"的类别。和"当前"到不同的项目,然后尝试将其链接到菜单项或页面,但我无法使其工作。
我非常感谢任何人可以给予的任何帮助或建议!谢谢!
答案 0 :(得分:0)
这就是我的意思:
拳头创建模板文件。我在模板上加上单词模板前缀:ie:template_projects_completed.php
要将其指定为模板,您需要在文件顶部添加一段注释文本,以便Wordpress知道它的模板:
<?php
/* Template Name: Projects Template */
?>
然后在Wordpress仪表板中创建一个新页面,并在模板下拉列表中选择您的模板作为要使用的模板。
然后在新创建的php文件中将其放入其中。
<?php
//help code
$posts = new WP_Query( array(
'post_type' => 'projects', // your custom post type
'category_name'=>'your_category', // Whatever you call your category ie. completed
'posts_per_page' => 10,
'orderby' => 'date', // Purely optional - just for some ordering
'order' => 'DESC' // Ditto
) );
if ($posts -> have_posts()) : while ($posts->have_posts()) : $posts->the_post(); ?>
<ul>
<li><?php the_content(); ?></li>
<!-- all the other pieces you want.. ie the_author() the_title() ect.. ect..-->
</ul>
<?php endwhile; endif; ?>
您当然应该在适当的位置包含页眉和页脚: get_header()和get_footer()