当你制作了海量文章,你应该会发现一个问题,就是这些文章很难简单地找出来,极为不方便於你,进行打理。你或许会希望像平时电脑的档案那样,能够为你每一项项目,开启一个档案,这样麻烦的问题,就消失不见了。但你看完整个wordpress的版面,却还是找不到任何解决方案。不过其实wordpress是有提供的,只是它需要我们花费上一点功夫,才能把它弄出来,没错它就是我们这篇的主题Custom post type了。
正如你所看到,在wordpress里,这是没法子设定的。所以这次,我们需要直接到後台,加入编码。我们到function的档案里,加入这功能。像之前那样,我们先在里面,加入一个新的funciton,并且在function里,把它登记好并在下方,在之前加入css档案那样,启动它,编码参考:
function post_type()
{
register_post_type('drawing',$args);
}
add_action ('init','post_type');
-名称不一定要post_type的
-drawing为这posttype的名称,$arg则是他的称号(variable变数),方便你之後利用array,修改post type样式
-init,为wordpress的一个设定,这功能让你的设定可以先於主题的header下载下来。
接下来我们可以开始调整post type的设定,以下为一些常用设定的介绍:
-hierachical => 来设定这分类,是给post还是page的(true:page ,false:post)
-public => 是否公开的 (true:允许,false:不允许)
-has_archive => 和 hierachical分别不大,主要要来设定是否允许post的(true:允许,false:不允许)
-supports => 要来设定,这里允许用家来修改什麽的,最常用的有:comments, title, editor, thumbnail
-menu_icon => 修改在栏位会出现的图标,可以在wordpress dashicons里找到,找到合适时只需要复制名称就可以
-labels => 用作修改custom post type 在栏位会显示出来的名称,原设会为post/page,常用设定:
-name 栏位显示的名字
-singular_name 在增新文章时,它会显示增新【你加入的名字】,例如输入drawing的,就会是增新 drawing这样
注意name和singular_name需要放到array里的
编码用法参考:
$args = array(
'labels'=> array(
'name' => 'drawing',
'singular_name' => 'drawing' ,
),
'hierachical'=> true,
'public' => true,
'has_archive' =>true,
'menu_icon' => 'dashicons-welcome-write-blog',
'supports' => array('title','editor','thumbnail'),
);
跟上方的类近,我们同样需要透过加入一个新function,来设定一个新分类,不过这回有部份地方是不同的:
register_taxonomy => 这里比较特别的是,我们除了加入名称和变数外,我们亦要加入array,内里放的则是,你 希望这分类会在那个post_type里出现
hierachical => 这次在这里影响到的,不再是post/page,而是category/tag(true:category,false: tag)
labels和public在这里都是有的,功能也是一样
编码用法参考:
function post_type_taxonomy()
{
$args = array(
'labels'=> array(
'name' => 'time',
'singular_name' => 'time' ,
),
'hierachical'=> false,
'public' => true,
);
register_taxonomy('time',array('drawing'),$args);
}
add_action('init','post_type_taxonomy');
设定完成後,随意增新新的文章,然後点击标题下方的连结,你会看到,出来的画面会沿用之前对於post版面的设定,然後也许会出现一些错误,这是源於我们在这里并没有任何tag,却要他显示tag,这部分我们一会在创建新版面时一并一拼解决。假若你们页面也没法显示,可以到设定--永久连结里,限制为文章名称,然後在底部选择储存设定。
我们先来学怎样加入新的版面吧,我们先创建一个新文件,设为single-(register了的post-type名称).php,例如我这里就会是:single-drawing.php。
完成後,点击连结後就会进入一个空白页面,这就代表成功了,之後的部分就像之前那样制作就可以了。
在之前我们是使用foreach,让它每一个tag都能够正常显示,但当时并没有加入,if让他只有当有tag时,这个loop才会运作,所以我们加入if($tags):
<?php $posttags= get_the_tags();if($tags): foreach($posttags as $tag):?>
接着我们在底部加入end if:
<?php endforeach;endif;?>
这样就完成了。
Closure 类、匿名函数 Closure class用来表示匿名函数 (anonymous fu...
7 段显示器显示1->2->3->4->5->6->7->...
Flutter常用指令 flutter create app:建立一个flutter专案。 flut...
昨天我们有稍微提到,使用 $event 的 property 时,要注意大小写的问题,虽然只是轻轻带...
首先创造元件 Vue.component('MyName',{ template:'<li&g...