字号: - o +

wordpress公告页面模版

2013-02-25 杂七杂八 9人评论 25,936次浏览   

子曰:学如驾车登山,不进就退;学如逆水行舟,不进则退 o(∩_∩)o
WopusIDC优惠码:W3Cshare, 点击获取, 或者提交订单时手动输入

比较细心的朋友应该看到,其实我右边的侧边栏最上面有个滚动公告,这个地方偶尔也会发布一下最新动态。

点此查看公告页面

      其实实现的方法很简单,他的原理就是利用默认的文章添加功能来添加左侧公告菜单。

  • 首先,新建一个公告菜单,我用的是custom-post-types.php
    <?php
    // 公告
    function post_type_bulletin() {
    register_post_type(
    	'bulletin',
    	array( 'public' => true,
    		'publicly_queryable' => true,
    		'hierarchical' => false,
    		'labels'=>array(
    			'name' => _x('公告', 'post type general name'),
    			'singular_name' => _x('公告', 'post type singular name'),
    			'add_new' => _x('添加新公告', '公告'),
    			'add_new_item' => __('添加新公告'),
    			'edit_item' => __('编辑公告'),
    			'new_item' => __('新的公告'),
    			'view_item' => __('预览公告'),
    			'search_items' => __('搜索公告'),
    			'not_found' =>  __('您还没有发布公告'),
    			'not_found_in_trash' => __('回收站中没有公告'),
    			'parent_item_colon' => ''
    			),
    		'show_ui' => true,
    		'menu_position'=>5,
    		'supports' => array(
    			'title',
    			'author',
    			'excerpt',
    			'thumbnail',
    			'trackbacks',
    			'editor',
    			'comments',
    			'custom-fields',
    			'revisions'	) ,
    		'show_in_nav_menus'=> true ,
    		'taxonomies'=> array(	'menutype','post_tag')
    		 )
    	 ); 
    
    }
    add_action('init', 'post_type_bulletin');
    
    function create_genre_taxonomy()
    {
      $labels = array(
    	'name' => _x( '公告分类', 'taxonomy general name' ),
    	'singular_name' => _x( 'genre', 'taxonomy singular name' ),
    	'search_items' =>  __( '搜索分类' ),
    	'all_items' => __( '全部分类' ),
    	'parent_item' => __( '父级分类目录' ),
    	'parent_item_colon' => __( '父级分类目录:' ),
    	'edit_item' => __( '编辑公告分类' ),
    	'update_item' => __( '更新' ),
    	'add_new_item' => __( '添加新公告分类' ),
    	'new_item_name' => __( 'New Genre Name' ),
      );
      register_taxonomy('genre',array('bulletin'), array(
        'hierarchical' => true,
        'labels' => $labels,
        'show_ui' => true,
        'query_var' => true,
        'rewrite' => array( 'slug' => 'genre' ),
      ));
    }
    add_action( 'init', 'create_genre_taxonomy', 0 );
    
    ?>
  • 然后,在主题默认的function函数中添加
    include("inc/custom-post-types.php");

    这样就可以在后台左侧添加公告菜单了,添加公告的操作跟添加文章一模一样,只是类型一定是选择公告,否则不予显示,所以添加公告之前必须先新建一个别名为bulletin的公告分类。

  • 添加公告,当然需要有显示地方了,这里我添加的是公告模版页面taxonomy-genre.php
    <?php get_header(); ?>
    <link rel="stylesheet" type="text/css" href="<?php bloginfo('url') ?>/wp-content/themes/L6/bulletin.css" media="all">
    <div id="bulletin_content">
    		<div class="bulletin_box_top"></div>
    			<div class="bulletin_box">
    		<?php $postcounter = 0; if (have_posts()) : ?>
    		<?php while (have_posts()) : $postcounter = $postcounter + 1; the_post(); ?>
    				<div id="bulletin_list">
    					<span class="bulletin_paperclip"></span>
    					<span class="bulletin_time">发布人:<?php the_author_posts_link(); ?> &nbsp;&nbsp; 日期:<?php the_time('Y-m-d');?> &nbsp;&nbsp; 分类:<?php echo get_the_term_list($post->ID,  'genre', '', ', ', ''); ?> &nbsp;&nbsp; <?php if(function_exists('the_views')) the_views(); ?>人浏览 &nbsp;&nbsp; <?php edit_post_link('[编辑]'); ?></span>
    				<div class="bulletin_main">
    					<!-- 标题 -->
    					<p><a href="<?php the_permalink(); ?>" rel="bookmark" title="阅读更多关于 <?php the_title(); ?> - <?php bloginfo('name'); ?>"><?php echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 110,"......"); ?></a></p>
    				</div><!-- bulletin_main end -->
    				</div><!-- bulletin_list end -->
    		<?php endwhile; ?>
    				<div style="clear:both;"></div>
    		<div class="paging">
    			<?php include('inc/paging.php'); ?>
    		</div>
    			</div><!-- bulletin_box end -->
    		<div class="bulletin_box_bottom"></div>
    		<?php endif; ?>
    </div><!-- bulletin_content end -->
    <?php get_footer(); ?>
  • 还需要一个公告预览页面single-bulletin.php
    <?php get_header(); ?>
    <link rel="stylesheet" type="text/css" href="<?php bloginfo('url') ?>/wp-content/themes/L6/bulletin.css" media="all">
    <div id="bulletin_content">
    	<?php if (have_posts()) : ?>
    		<?php while (have_posts()) : the_post(); ?>
    			<div class="bulletin_box_top"></div>
    			<div class="bulletin_box">
    				<div class="bulletin_content_title">
    					<h1><a href="<?php the_permalink() ?>" title="<?php the_title(); ?> - <?php bloginfo('name'); ?>"><?php the_title(); ?></a></h1>
    
    					<div class="bulletin_share">
    						<?php dtheme_share(); ?>
    					</div>
    
    					<div style="clear:both;"></div>
    				</div><!-- bulletin_content_title end -->
    
    				<div class="bulletin_content_text">
    					<?php the_content(); ?>
    					<?php wp_link_pages('before=<div id="page-links">&after=</div>'); ?>
    
    					<div class="bulletin_content_ads">
    					<?php if( dopt('d_adpost_01_b')!=='' ) echo '<div class="db_post">'.dopt('d_adpost_01').'</div>'; ?>
    					</div>
    
    					<p><span>发布人:<?php the_author_posts_link(); ?></span> &nbsp;&nbsp;
    					<span>日期:<?php the_time('Y-m-d') ?></span> &nbsp;&nbsp;
    					<span>分类:<?php echo get_the_term_list($post->ID,  'genre', '', ', ', ''); ?></span> &nbsp;&nbsp;
    					<span><?php if(function_exists('the_views')) the_views(); ?>次浏览</span> &nbsp;&nbsp;
    					<span><?php edit_post_link('[编辑]'); ?></span></p>
    				</div> <!-- bulletin_content_text end -->
    			</div><!-- bulletin_box end -->
    		<?php endwhile; ?>
    
    	<!-- 上下篇 -->
    	<div class="bulletin_box_bottom">
    		<div class="bulletin_box_bottom_l"><?php previous_post_link('【上一篇】%link') ?></div>
    		<div class="bulletin_box_bottom_r"><?php next_post_link('【下一篇】%link') ?></div>
    		<div class="clearfix"></div>
    	</div>
    
    	<?php endif; ?>
    </div><!-- content end -->
    <script type="text/javascript">
    	$('#bulletin_content').mouseover(function() {
    		if (window.willhide) clearTimeout(window.willhide);
    		$('.bulletin_box_bottom_l').fadeIn("normal")
    		$('.bulletin_box_bottom_r').fadeIn("normal")
    	});
    	$('#bulletin_content').mouseout(function() {
    		window.willhide = setTimeout(function() {
    			$('.bulletin_box_bottom_l').fadeOut("normal")
    			$('.bulletin_box_bottom_r').fadeOut("normal")
    		},
    		400)
    	});
    
    $(".blog_loading").animate({width:"70%"})
    </script>
    <?php get_footer(); ?>
  • 当然喽,你如果想像我一样,显示在侧边栏,可以自己去设计一下。

本文作者:两千年的孤寂

2014年的目标:1、入手kp2,多看几本书。2、至少旅游一次。3、带公司走上正轨。少说话,多做事!我不是最好的,但我要做最努力的...... 本站主题交流群:465295619,不闲聊!以后你会知道它的重要性!你懂的~

继续查看有关 的文章

本文密切相关的文章

网友评论8条 ,博主回复1

  1. 有了这个公告的代码,其它的文章类型也都可以实现了,想问下公告的分类目录如何获取,谢谢!

    萨龙龙10-08 14:41 回复
  2. 公告页搞定了,但是现在需要判断当前为公告页,这个怎么实现啊,就没有一个现成的函数is_bulletin()吗?

    cat07-16 15:55 回复
  3. 善用搜索啊,终于被我找到了

    cat07-16 15:00 回复
  4. 修改一下CSS 搞一个滚动状态出来 哇哈哈

    刘荣焕03-08 10:17 回复
  5. 很不错,不过对前端设计没研究,有机会找你安装一个

    爱点我03-04 15:01 回复
  6. 真心的蛮好看的

    IT自习室02-26 22:15 回复
  7. 感觉还挺复杂的,正在研究WP中,正好尝试一下。

    夏日博客02-26 13:27 回复
  8. 好文,mark!

    公子 02-25 18:35 回复

发表我的评论

*

*

取消