wordpress 自定义文章类型
WP菜鸟建站13:wordpress后台怎样创建文章分类?
整个wordpress网站的前端内容,是由众多的模块元素共同组建而成:网站标题、网站LOGO、菜单导航、面包屑导航、搜索、文章等等。虽然网站的模块元素众多,但是它的内在核心,还是在于文章,因为我们会不断地给我们的wordpress网站发表文章,以此来展示我们的观点和学术。文章多起来了,如果没有给它们分门别类,会让整个网站显示杂乱无章。所以,我们在给wordpress网站创建文章之前,一般都会先创建文章的分类目录。那么,怎样给我们的wordpress网站创建文章分类呢?其实很简单。
一、打开文章分类的创建页面。
?进入我们的wordpress网站后台,点击后台左侧导航中的“文章”菜单,再点击“分类目录”,在后台右侧内容栏中就会显示“分类目录列表和添加新分类目录”。
二、创建新的文章分类。在创建文章分类之前,我们要想一想,我们在后期将会发表关于哪些方面的文章,然后,再根据我们的文章类型来创建文章分类。
1、分类目录名称。
比如:我们将发表美容方面的文章,我们就可以创建“美容”的分类目录。这个名称,除了作为文章分类名外,还可以用在导航菜单中。
2、分类目录的别名。
如果我们没有填写这个地方的分类目录的别名,在我们创建文章分类成功后,会自动创建,自动创建的别名跟分类名称一至,如:分类名是“美容”,那么自动创建的别名也会是“美容”,这时,在有的浏览器上打开这个分类页面,浏览器URL地址栏会出现如下图这样的乱码情况。所以,我们在设置wordpress网站分类目录的别名时,尽量设置成拼音。如:meirong 。这样的好处是,URL地址会比较美观。
3、父级分类目录。
在我们的wordpress网站的文章分类不是特别多的情况下,这个“父级分类目录”几本上用不上。但是,一旦我们网站的文章分类特别多时,这时,我们就有必要把一些小分类归总到那些大分类中。如:美容是个小分类,而“时尚”是一个大分类,我们就可以把“美容”作为“时尚”的子分类,有利于条理分明。
4、分类目录的图像描述。
分类目录的描述,是用来对这个文章分类作一个概括,我们这里为“美容”这个分类目录填写上描述:“美容,可以让我们更加光鲜亮丽。”如果想让这个分类利于SEO,对搜索引擎友好一点,我们最好是认真地填写这个分类的描述,这些描述会在当前分类页面的前端网页head头部信息中展现(如下图)。百度这类搜索引擎,最喜欢抓取这种网页头部的描述,用以作为排名的参考。
为wordpress网站创建一个文章分类目录,是非常简单的。但是,为了我们的整个网站的优化,为了利于百度等搜索引擎的排名,我们最好是认真填写文章分类目录的相关信息。建站就是要这样,任何一个小地方,我们都要尽量做到尽善尽美。
怎样给wordpress网站分类目录页面,添加文章列表和分页效果?
在前面的章节中,我们完成了wordpress网站首页模板数据的调用,也创建好了wordpress网站的公共模板。今天,我们再来给wordpress网站的分类目录页模板archive.php文件添加左侧数据的调用。一般情况下,wordpress网站的分类目录页面,展示的是该分类下的文章列表,所以,本节课我们将介绍如何给wordpress网站分类页面调用文章列表和分页效果?下面,一起来看看吧(具体请观看《wordpress网站分类目录,如何添加文章列表和分页效果?》视频课程)。
第一步:在wordpress网站分类模板中添加wordpress循环函数。这个wordpress循环函数,我们在wordpress网站很多模板中会使用到,如:首页的文章列表、文章详情页、搜索页、单页面等等。我们打开archive.php模板文件,找到左侧的父标签< div class="c_left">(如下图),现在里面是空的。
在这个< div class="c_left">标签内部添加如下代码:
<?php if(have_posts()):while(have_posts()):the_post(); endwhile;endif;?>
效果如下图:
第二步:在循环中调用文章数据。wordpress循环语句添加好后,我们再在这个循环语句的主体中添加文章数据调用,这里,我们调用文章的标题、链接和发表的时间,代码如下:
echo '<li>'; echo '<a href="'.get_permalink().'">';echo $post->post_title;echo '</a>';echo '<em>'.get_the_time("Y-m-d").'</em>'; echo '</li>';
这样,我们就添加好了wordpress网站分类模板左侧的文章列表调用,效果如下图:
第三步:给文章列表添加分页效果。wordpress网站的分类下的文章可能会很多,一个页面展示不下去,所以,我们一般都会给分类目录下的文章列表添加分页效果。在当前wordpress分类模板的文章列表代码下方,添加如下代码:
<?php $arr = array('mid_size' => 3, //当前页码数的 两边 显示几个页码。'prev_text' =>'上一页', //上一页'next_text' =>'下一页', //下一南);the_posts_pagination($arr);?>
因为wordpress这个分页函数the_posts_pagination(),我们在前面的章节中介绍过,这里,我就不费口舌了,大家可以查阅一下我前面发表的内容。添加好分页按钮后,wordpress网站分类的前台页面显示如下:
?好了,通过上面的三步,我们给我们的wordpress网站的分类目录添加好了文章列表和分页效果。在下一课中,我们将介绍《wordpress网站不同的分类页面,怎样调用不同的banner图?》,欢迎大家到时收看。
Wordpress建站教程:两种隐藏Categories默认分类的方法
继续分享wordpress建站教程。默认情况下wordpress的文章分类前都会自带一个Categories分类标志,这就使得网站目录层级多了一层。虽然这对谷歌SEO优化影响不大,但是看不起不太美观,所以大多数情况下我们都会隐藏它。
下面分享两种方法。
作者:悦然wordpress建站
方法一:使用代码我们可以编辑当前wordpress建站主题的functions.php文件,把下面的代码直接添加进去,保存刷新即可生效。不过这个方法悦然wordpress建站只推荐安装了Code Snippets插件或其它自定义插件的用户使用,代码可以直接添加到这些插件中,这样隐藏效果不会受到主题更新或更换的影响。
//去除分类标志代码add_action( 'load-themes.php', 'no_category_base_refresh_rules');add_action('created_category', 'no_category_base_refresh_rules');add_action('edited_category', 'no_category_base_refresh_rules');add_action('delete_category', 'no_category_base_refresh_rules');function no_category_base_refresh_rules() { global $wp_rewrite; $wp_rewrite -> flush_rules();}// register_deactivation_hook(__FILE__, 'no_category_base_deactivate');// function no_category_base_deactivate() {// remove_filter('category_rewrite_rules', 'no_category_base_rewrite_rules');// // We don't want to insert our custom rules again// no_category_base_refresh_rules();// }// Remove category baseadd_action('init', 'no_category_base_permastruct');function no_category_base_permastruct() { global $wp_rewrite, $wp_version; if (version_compare($wp_version, '3.4', '<')) { // For pre-3.4 support $wp_rewrite -> extra_permastructs['category'][0] = '%category%'; } else { $wp_rewrite -> extra_permastructs['category']['struct'] = '%category%'; }}// Add our custom category rewrite rulesadd_filter('category_rewrite_rules', 'no_category_base_rewrite_rules');function no_category_base_rewrite_rules($category_rewrite) { //var_dump($category_rewrite); // For Debugging $category_rewrite = array(); $categories = get_categories(array('hide_empty' => false)); foreach ($categories as $category) { $category_nicename = $category -> slug; if ($category -> parent == $category -> cat_ID)// recursive recursion $category -> parent = 0; elseif ($category -> parent != 0) $category_nicename = get_category_parents($category -> parent, false, '/', true) . $category_nicename; $category_rewrite['(' . $category_nicename . ')/(?:feed/)?(feed|rdf|rss|rss2|atom)/?$'] = 'index.php?category_name=$matches[1]&feed=$matches[2]'; $category_rewrite['(' . $category_nicename . ')/page/?([0-9]{1,})/?$'] = 'index.php?category_name=$matches[1]&paged=$matches[2]'; $category_rewrite['(' . $category_nicename . ')/?$'] = 'index.php?category_name=$matches[1]'; } // Redirect support from Old Category Base global $wp_rewrite; $old_category_base = get_option('category_base') ? get_option('category_base') : 'category'; $old_category_base = trim($old_category_base, '/'); $category_rewrite[$old_category_base . '/(.*)$'] = 'index.php?category_redirect=$matches[1]'; //var_dump($category_rewrite); // For Debugging return $category_rewrite;}// Add 'category_redirect' query variableadd_filter('query_vars', 'no_category_base_query_vars');function no_category_base_query_vars($public_query_vars) { $public_query_vars[] = 'category_redirect'; return $public_query_vars;}// Redirect if 'category_redirect' is setadd_filter('request', 'no_category_base_request');function no_category_base_request($query_vars) { //print_r($query_vars); // For Debugging if (isset($query_vars['category_redirect'])) { $catlink = trailingslashit(get_option('home')) . user_trailingslashit($query_vars['category_redirect'], 'category'); status_header(301); header("Location: $catlink"); exit(); } return $query_vars;}方法二:使用插件
如果你的网站没有安装Code Snippets这类自定义代码插件,那么悦然wordpress建站推荐大家还是安装上面这个插件,直接安装启用即可生效,不用其它任何设置。
(此处已添加小程序,请到今日头条客户端查看)