添加自定义管理菜单选项

时间:2014-07-31 14:57:25

标签: wordpress admin

我正在为客户建立一个wordpress网站,并且非常希望尽可能使菜单成为白痴。

我正在使用网站各个部分的帖子功能,使用高级自定义字段插件在帖子页面上显示各种不同类型的内容。

我想要做的是让菜单中列出每个类别,以便用户只需点击新闻即可添加新闻文章,该链接会将他们带到添加新帖子页面,其中包含链接的新闻类别和高级自定义字段已经人口稠密。

新闻 - 添加新内容(添加新闻类别预选的帖子) - 查看新闻(仅查看新闻类别中的帖子)

名册 - 添新 - 查看名册

点唱机 - 添新 - 查看Jukebox

这是可以做到的吗?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

这可以使用自定义帖子类型完成。自定义帖子类型,作为开发人员可以完全控制的帖子类型(思考博客条目)。我建议您在WordPress Codex上阅读它们。

基本上,您进入主题的functions.php文件并添加类似于此的代码:

add_action( 'init', 'create_post_type' );

function create_post_type() {
  register_post_type( 'roster',
    array(
      'labels' => array(
        'name' => __( 'Roster' ),
        'singular_name' => __( 'Roster' )
      ),
    'public' => true,
    'has_archive' => true,
    )
  );
}

然后,您将能够在主题上创建自定义模板,以便能够使用您的ACF以您喜欢的任何格式显示这些模板。

答案 1 :(得分:0)

你只需创建另外两个文件,一个名为template-roster.php,另一个名为single-roster.php

这是我的一个例子(template-audio.php)

<?php
/*
Template Name: Audio
*/
?>

<?php get_header(); ?>

    <div id ="content" class="audio grid_12">

            <h1 class="pagetitle"> <?php the_title(); ?> </h1>

             <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>                                                           
                    <?php the_content(); ?> 
            <?php endwhile; endif; ?>    

            <div class="clear">
            </div><!-- .clear-->                

            <ul class="album">
            <?php  
                    global $post;

                    $args = array(
                                    'order' => 'DESC',
                                    'post_type' => 'audio',
                                    'posts_per_page' => -1 );

                    $loop = new WP_Query( $args );

                    while ( $loop->have_posts() ) : $loop->the_post();

                    $album_title = $post->post_title;
                    $album_thumb = get_the_post_thumbnail($post->ID, 'square1', array('title' => ''))                               
            ?>                

                    <li>
                            <div class="album_item mosaic-block bar">
                                    <a href="<?php the_permalink() ?>">                                        
                                            <div class="details mosaic-overlay aud-size">
                                                    <?php echo $album_title; ?>
                                            </div>

                                            <div class="album_artwork mosaic-backdrop">                                                
                                                    <?php echo $album_thumb; ?>     
                                            </div>
                                    </a>
                            </div><!-- .album_item-->
                    </li>
    <?php       
                    endwhile;

                    // Always include a reset at the end of a loop to prevent conflicts with other possible loops                 
                    wp_reset_query();
            ?>
            </ul>
    </div><!-- #content-->

    <div class="clear">
    </div><!-- .clear-->

<?php get_footer(); ?>