当前位置:首页 > ZBLOG > 正文

zblog二次开发教材(zblog开发文档)

今天给各位分享zblog二次开发教材的知识,其中也会对zblog开发文档进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

wordpress可以二次开发吗

wordpress可以二次开发。

二次开发其实主要涉及的就是分类,文章,摘要,博客自定义信息调用等方法

1,首先调用导航,需要使用分类内容

2,首页调用文章内容,一般包括标题,摘要,作者,时间等内容

3,到具体栏目页面,调用指定栏目下的内容(分为指定调用和自动调用)

4,文章页面的展示

5,图片内容调用(一般来说是调用文章中的第一个图片)

1 调用分类

2

3 ?php

4 $categories = get_categories();

5 foreach($categories as $category):

6 ?

7

8 lia href="?cat=?php echo $category-cat_ID; ?" class="selected filter-data"

9 ?php echo $category-name; ?/a/li

10

11 ?php endforeach; ?

首页和栏目页摘要调用

?php the_excerpt();?

文章页摘要(其实主要是在single.php可以使用)

?php global $more ; $more = false; ?

?php the_content('(more)');?

?php $more = true; ?

调用具体栏目的文章摘要

?php $posts = get_posts( "category=6numberposts=1" ); ?

?php if( $posts ) : ?

?php foreach( $posts as $post ) : setup_postdata( $post ); ?

a href="?php the_permalink() ?" rel="bookmark" title="?php the_title(); ?"h2?php the_title(); ?/h2 /a

p class="ttime"?php the_time('Y年M月d日g:i a'); ?/p

p?php the_content(); ?/p

?php endforeach; ?

?php endif; ?

调用分类文章【自动判断栏目】

?php if( $posts ) : ?

?php foreach( $posts as $post ) : setup_postdata( $post ); ?

a href="?php the_permalink() ?" rel="bookmark" title="?php the_title(); ?"h2?php the_title(); ?/h2 /a

p class="ttime"?php the_time('r'); ?/p

p?php the_content(); ?/p

?php endforeach; ?

?php endif; ?

调用文章中第一个图片,此代码应该写在function.php中

function 那个echo_first_image($width="85",$height="100") {

global $post, $posts;

ob_start();

ob_end_clean();

//通过正则表达式匹配文章内容中的图片标签

$output = preg_match_all('/img.+src=[\'"]([^\'"]+)[\'"].*/i', $post-post_content, $matches);

//第一张图片的html代码,下面加了那个缩放的js哦。。如果你不打算缩放,请删除

$first_img = 'img src="'. $matches[1][0] .'" width="'.$width.'" height="'.$width.'" alt="'.$post-post_title .'" onload="javascript:DrawImage(this,'.$width.','.$height.')" /';

if(empty($matches[1][0])){ //如果文章中没有图片,就调用下面的的默认代码,自己改图片url,也有缩放js

$first_img = 'img src="'. get_bloginfo('template_url') .'/images/defalt.jpg" alt="'.$post-post_title .'" width="'.$width.'" height="'.$height.'" class="img-sidebar"/';

}

//输出代码

echo 'a href="'.get_permalink().'" title="'.$post-post_title.'" '. $first_img .'/a';

}

页面中调用应该这样写

?php echo_first_image('85','100');?

你要看看javalink中有没这方面的函数,不过用jlink做开发的不多,一般proe用二次开发都是c

proe二次开发教程

[Erlang开发之路]、lists模块扫盲

这是一个列表处理模块,主要分为参数带函数和不带函数的函数

1. all(Pred, List) - boolean()

如果List中的每个元素作为Pred函数的参数执行,结果都返回true,那么all函数返回true,否则返回false

例子:lists:all(fun(E) - true end,[1,2,3,4]).

结果:true

2.any(Pred, List) - boolean()

如果List中至少有一个元素作为Pred函数的参数执行,结果返回true,那么any函数返回true,否则返回false

例子:lists:any(fun(E) - is_integer(E) end,[q,2,a,4]).

结果:true

3.dropwhile(Pred, List1) - List2

将List1列表中的元素作为参数执行Pred函数,如果返回true,将其丢弃,最后返回剩余元素组成的列表

例子:lists:dropwhile(fun(E) - is_atom(E) end,[a,1,2,a,b]).

结果:[1,2,a,b]

4.filter(Pred, List1) - List2

返回一个列表,这个列表是由List1中执行Pred函数返回true的元素组成。

例子:lists:filter(fun(E) - is_integer(E) end,[q,2,a,4]).

结果:[2,4]

5.map(Fun, List1) - List2

将List1中的每个元素去在Fun中执行,然后返回一个元素,最后返回的这些元素组成一个列表,返回给List2

例子:lists:map(fun(X)-[X,X] end, [a,b,c]).

结果:[[a,a],[b,b],[c,c]]

6.flatmap(Fun, List1) - List2

这个函数和map比较类似,相当于执行了lists:append(lists:map(List1)).也就是把map的结果进行append处理

例子:lists:flatmap(fun(X)-[X,X] end, [a,b,c]).

结果:[a,a,b,b,c,c]

7.foldl(Fun, Acc0, List) - Acc1Fun

这个函数有两个参数第一个参数是List中的元素,第二个参数是Fun函数执行完后的返回值,这个参数第一次执行时就是Acc0

例子:对[1,2,3,4,5]求和lists:foldl(fun(X, Sum) - X + Sum end, 0, [1,2,3,4,5]).

结果:15

执行过程:首先,Fun第一次执行时,X的值取列表List的第一个元素1,Sum取0,

Fun第二次执行时,X的值取列表List的第二个元素2,Sum取Fun第一次的返回值

依次轮推,直到List中每个元素执行完,最后foldl返回最后一次的结果。

8.foldr(Fun, Acc0, List) - Acc1foldr

这个函数和foldl比较相似不过是Fun执行时,X的值先取List的最后一个,然后取倒数第二个。

9.foreach(Fun, List) - ok

以List中的每个元素为参数执行Fun函数,执行顺序按照List中元素的顺序,这个函数最后返回ok。

是单边的例子 lists:foreach(fun(X)- %%using X to do somethings %% end,List)

10.keymap(Fun, N, TupleList1) - TupleList2

对TupleList1中的每个元素的第N项作为参数在Fun中处理,然后这个第N项最后就被替换为Fun执行完返回的值

例子:List1 = [{name,"zhangjing"},{name,"zhangsan"}].lists:keymap(fun(X)- list_to_atom(X) end,2,List1).

结果:[{name,zhangjing},{name,zhangsan}]

11.mapfoldl(Fun, Acc0, List1) - {List2, Acc1}

这个函数等于是把map和foldl函数结合起来。将List1中的每一个元素执行Fun函数,执行后花括号的第一个值作为返回值返回,第二个值作为参数传给Fun,作为下一次用。

例子:lists:mapfoldl(

fun(X, Sum) - {2*X, X+Sum} end,

0, [1,2,3,4,5]).

结果:{[2,4,6,8,10],15}

12.mapfoldr(Fun, Acc0, List1) - {List2, Acc1}

这个函数相当于将map和foldr结合起来

13.merge(Fun, List1, List2) - List3

这个函数的功能也是把List1和List2合并到一起,只不过是List1和List2的元素要作为参数在Fun中执行,如果Fun返回true,那么返回值就是List1在前,List2在后。否则,反之。

例子:lists:merge(fun(A,B)- false end, [3,4],[2,1]).

结果:[2,1,3,4]

14.partition(Pred, List) - {Satisfying, NotSatisfying}

这个函数的功能是将List分成两个List1和List2,List1是将List元素作为参数去Pred函数中执行返回true的元素组成,List2由Pred返回false的元素组成。注意,返回的是一个元组

例子:lists:partition(fun(A) - A rem 2 == 1 end, [1,2,3,4,5,6,7]).

结果:{[1,3,5,7],[2,4,6]}

15.sort(Fun, List1) - List2

如果Fun函数返回true,则排序是从小到大的顺序,否则,从大到小。其中Fun有两个参数。

例子:lists:sort(fun(A,B)- false end,[1,2,3]).

结果:[3,2,1]

16.splitwith(Pred, List) - {List1, List2}

将List分成List1和List2,List1由List中元素在Pred函数返回true的组成,但是有一点,如果遇到为false的,则将剩下的元素全部放到List2中,List1中就只有前面为true的。

例子:lists:splitwith(fun(A) - is_atom(A) end, [a,b,1,c,d,2,3,4,e]).

结果:{[a,b],[1,c,d,2,3,4,e]}

17.takewhile(Pred, List1) - List2

List1中的元素element依次执行Pred(element),如果返回true,则获取这个元素,直到有元素执行Pred(element)返回false

例子:lists:takewhile(fun(E)- is_atom(E) end,[a,b,1,e,{c},[d]]).

结果:[a,b]

18.umerge(Fun, List1, List2) - List3

这个函数和merge不同的是 当Fun返回true时,返回的List3中不能出现相同的元素疑问:但是当Fun返回false时,List3中可以有相同的元素。

例子:(Fun返回true的情况)lists:umerge(fun(A,B)- true end,[1,2],[2,3]).

结果: 1,2,3 lists:umerge(fun(A,B)- false end,[1,2],[2,3]).[2,3,1,2]好神奇,竟然2有重复

19.usort(Fun, List1) - List2

按照Fun函数进行排序,如果Fun返回true,那么只返回List1的第一个元素如果Fun返回false,那么List1从大到小排序

例子1:lists:usort(fun(A,B) - true end, [1,2,2,3,4]).

结果[1]

例子2:lists:usort(fun(A,B) - false end, [1,2,2,3,4]).

结果[4,3,2,2,1]

20.zipwith(Combine, List1, List2) - List3

将List1和list2中的每个元素执行Combine函数,然后返回一个元素,List3就是由Combine函数返回的一个个元素组成的。功能和map有点像,但是这里是对两个列表的操作。

例子:lists:zipwith(fun(X, Y) - X+Y end, [1,2,3], [4,5,6]).

结果:[5,7,9]

21.zipwith3(Combine, List1, List2, List3) - List4

将List1和list2,list3中的每个元素执行Combine函数,然后返回一个元素,List4就是由Combine函数返回的一个个元素组成的。功能和map有点像,但是这里是对三个列表的操作。

例子:lists:zipwith3(fun(X, Y, Z) - X+Y+Z end, [1,2,3], [4,5,6],[7,8,9]).

结果:[12,15,18]

1,append(ListOfLists) - List1

ListOfLists都是由List组成的,而List一个列表,里面可以是任何类型的元素

这个函数就是将ListOfLists里面的所有列表的元素按顺序编成一个列表

提示:ListOfLists里面的元素必须都是列表才能用这个函数

例子:lists:append([[1, 2, 3], [a, b], [4, 5, 6]]).

结果:[1,2,3,a,b,4,5,6]

2,append(List1, List2) - List3

将List1和List2两个列表连接起来,组成一个列表,然后返回新的这个列表

这个函数的功能等同于List1 ++ List2

例子:lists:append("abc", "def").

结果:"abcdef"

3,concat(Things) - string()

这里的Things是一个列表,里面由atom() | integer() | float() | string()

将这个列表里面的元素拼成一个字符串,然后返回

例子:lists:concat([doc, '/', file, '.', 3]).

结果:"doc/file.3"

4,delete(Elem, List1) - List2

List1是由很多Element组成的,这个函数的功能是在List1中寻找第一个和Elem元素一样的,

然后删除之,返回删除后新的列表。

例子:lists:delete({name,"zhangsan"},[{name,"lisi"},{name,"zhangsan"},{name,"wangmazi"})).

结果:[{name,"lisi"},{name,"wangmazi"}]

5,duplicate(N, Elem) - List

返回一个由N个Elem组成的列表。

例子:lists:duplicate(5,"test").

结果:["test","test","test","test","test"]

6,flatlength(DeepList) - integer() = 0

我的理解是DeepList就是列表里面套列表

计算列表的长度,即用flatten函数将DeepList转化成List后元素的个数

这个函数和length()的区别就是:

length函数是得到列表元素的个数,

而flatlength函数是先将DeepList转化成List后的个数

譬如说List = [1,2,[3,4]]这个列表用

length(List)求的值是:3

lists:flatlength(List)求的值是:4

其实lists:flatlength(List) = length(flatten(List))

7,flatten(DeepList) - List

将DeepList变成只有term()的list

例子:lists:flatten([[a,a],[b,b],[c,c]]).

结果:[a,a,b,b,c,c]

8,flatten(DeepList, Tail) - List

就是将DeepList变成只有term的List后,在后面再加一个Tail。

例子:lists:flatten([[a,a],[b,b],[c,c]],[dd]).

结果:[a,a,b,b,c,c,dd]

9,keydelete(Key, N, TupleList1) - TupleList2

这个函数适合处理列表里面的元素是元组的情况

删除TupleList1中元素第N个元素和Key一致的元素,只删除第一个一样的,后面一样的不删除

例子:

List = [{name,"zhangjing"},{sex,"male"},{name,"zhangsan"},{sex,"male"}],

lists:keydelete("male",2,List)

结果:

[{name,"zhangjing"},{name,"zhangsan"},{sex,"male"}]

10,keyfind(Key, N, TupleList) - Tuple | false

查找TupleList中的一个Tuple,如果查找到,返回,如果没有查找到,则返回false

这个Tuple必须满足第N个元素和key是一样。

例子:

List1 = [{name,"zhangjing"},{name,"zhangsan"}].

lists:keyfind("zhangjing",2,List1)

结果:{name,"zhangjing"}

11,keymember(Key, N, TupleList) - boolean()

如果TupleList中的元素中存在第N个元素和key一致,则返回true,否则返回false

例子:

List1 = [{name,"zhangjing"},{name,"zhangsan"}].

lists:keymember("zhangjing",2,List1).

结果:true

12,keymerge(N, TupleList1, TupleList2) - TupleList3

将TupleList1和TupleList2进行混合,组成一个TupleList,

新组成的TupleList是按照Tuple的第N个元素进行排序的

例子:

List1 = [{name,"zhangjing"},{name,"zhangsan"}].

List2 = [{nick,"zj"},{nick,"zs"}].

lists:keymerge(2,List1,List2).

结果:

[{name,"zhangjing"},

{name,"zhangsan"},

{nick,"zj"},

{nick,"zs"}]

13,keyreplace(Key, N, TupleList1, NewTuple) - TupleList2

在TupleList1的Tuple中找出第N个元素和Key一致,然后用NewTuple将这个Tuple替换掉,如果没有找到

,则返回原来的TupleList1

例子:

List1 = [{name,"zhangjing"},{name,"zhangsan"}]

lists:keyreplace("zhangjing",2,List1,{nickname,"netzj"}).

结果:

[{nickname,"netzj"},{name,"zhangsan"}]

14,keysearch(Key, N, TupleList) - {value, Tuple} | false

这个函数和keyfind差不多,就是返回值的结构不一样

也是在TupleList中找一个Tuple,这个Tuple的第N个元素和Key一样。

例子:

List1 = [{name,"zhangjing"},{name,"zhangsan"}]

lists:keysearch("zhangjing",2,List1).

结果:

{value,{name,"zhangjing"}}

15,keysort(N, TupleList1) - TupleList2

对TupleList1中的Tuple按照第N个元素进行排序,然后返回一个新的顺序的TupleList。

不过这种排序是固定的。

例子:

List1 = [{name,"zhangsan"},{name,"zhangjing"}].

lists:keysort(2,List1).

结果:

[{name,"zhangjing"},{name,"zhangsan"}]

16,keystore(Key, N, TupleList1, NewTuple) - TupleList2

这个函数和keyreplace函数比较像,不同的是,这个keystore在没有找到对应的Tuple时,

会将这个NewTuple追加在这个TupleList1的最后。

例子:

List1 = [{name,"zhangsan"},{name,"zhangjing"}].

找到了的情况

lists:keystore("zhangjing",2,List1,{name,"netzhangjing"}).

[{name,"netzhangjing"},{name,"zhangsan"}]

没有找到的情况

lists:keystore("zhanging",2,List1,{name,"netzhangjing"}).

[{name,"zhangjing"},{name,"zhangsan"},{name,"netzhangjing"}]

17,keytake(Key, N, TupleList1) - {value, Tuple, TupleList2} | false

在TupleList1中找Tuple,这个Tuple的第N个元素和Key一致,如果找到了这么一个Tuple

那么返回,{value, Tuple, TupleList2} 其中TupleList2是去掉Tuple的TupleList1.

例子:

List1 = [{name,"zhangjing"},{name,"zhangsan"},{name,"lisi"}].

lists:keytake("zhangjing",2,List1).

结果:

{value,{name,"zhangjing"},[{name,"zhangsan"},{name,"lisi"}]}

18,last(List) - Last

返回:List最后一个元素

例子:

List1 = [{name,"zhangjing"},{name,"zhangsan"},{name,"lisi"}].

lists:last(List1).

结果:

{name,"lisi"}

19,max(List) - Max

取出List中最大的元素,一般List是整型时比较适合。

例子:

lists:max([1,10,15,6]).

结果:

15

20,member(Elem, List) - boolean()

如果Elem和List中的某个元素匹配(相同),那么返回true,否则返回false

例子

lists:member({sex,"1"},[{sex,"1"},{sex,"2"},{sex,"3"}]).

结果:

true

21,merge(ListOfLists) - List1

ListOfLists是一个列表,里面由子列表构成

这个函数的功能就是将这些子列表合并成一个列表。

例子:

lists:merge([[{11}],[{22}],[{33}]]).

结果

[{11},{22},{33}]

22,merge(List1, List2) - List3

List1和List2分别是一个列表,这个函数的功能是将这两个列表合并成一个列表。

例子:

lists:merge([11],[22]).

结果

[11,22]

[2,1,3,4]

23, merge3(List1, List2, List3) - List4

将List1,List2,List3合并成一个列表

例子

lists:merge3([11],[22],[33,44]).

结果:

[11,22,33,44]

24,min(List) - Min

返回List中的最小的元素,和max函数对应

例子

lists:min([1,2,3]).

结果

1

25,nth(N, List) - Elem

返回List中的第N个元素。

例子

lists:nth(2,[{name,"zhangsan"},{name,"lisi"},{name,"wangmazi"}]).

结果

{name,"lisi"}

26,nthtail(N, List) - Tail

返回List列表中第N个元素后面的元素

例子

lists:nthtail(3, [a, b, c, d, e]).

结果

[d,e]

27,prefix(List1, List2) - boolean()

如果List1是List2的前缀(也就是说List1和List2前部分相同),那么返回true,否则返回false

28,reverse(List1) - List2

将List1反转

例子

lists:reverse([1,2,3,4]).

结果

[4,3,2,1]

29,reverse(List1, Tail) - List2

将List1反转,然后将Tail接在反转List1的后面,然后返回

例子

lists:reverse([1, 2, 3, 4], [a, b, c]).

[4,3,2,1,a,b,c]

30,seq(From, To) - Seq

其中From和To都是整型,这个函数返回一个从From到To的一个整型列表。

例子

lists:seq(1,10).

结果

[1,2,3,4,5,6,7,8,9,10]

31,seq(From, To, Incr) - Seq

返回一个整型列表,这个列表的后一个元素比前一个元素大Incr。

例子

lists:seq(1,10,4).

[1,5,9]

32,sort(List1) - List2

将List1中的元素从小到大排序,然后返回新的一个列表。

例子

lists:sort([3,2,1]).

结果

[1,2,3]

33,split(N, List1) - {List2, List3}

将List1分成List2和List3

其中List2包括List1的前N个元素,List3包含剩余的。

例子

lists:split(3,[1,2,3,4,5]).

结果

{[1,2,3],[4,5]}

这个函数和partition数有区别,partition是遍历全部的List,而splitwith在遍历时遇到false的情况

则马上结束遍历,返回结果。

34,sublist(List1, Len) - List2

返回从第一个元素到第Len个元素的列表,这个Len大于List1的长度时,返回全部。

例子

lists:sublist([1,2,3,4,5,6],3).

结果

[1,2,3]

35,sublist(List1, Start, Len) - List2

返回从List1的第Start个位置开始,后面Len个元素的列表。

例子

lists:sublist([1,2,3,4], 2, 2).

结果

[2,3]

36,subtract(List1, List2) - List3

等同于 List1 -- List2

这个函数功能是返回一个List1的副本,对于List2中的每个元素,第一次在List1副本中出现时被删掉。

例子

lists:subtract("112233","12").

结果

"1233"

37,suffix(List1, List2) - boolean()

如果List1是List2的后缀,那么返回true,否则返回false

例子

lists:suffix("22","1122").

结果

true

38,sum(List) - number()

返回List中每个元素的和。其中List中的元素都应该是number()类型的。

例子

lists:sum([1,2,3,4]).

结果

10

39,ukeymerge(N, TupleList1, TupleList2) - TupleList3

TupleList1和TupleList2里面的元素都是元组

将TupleList1和TupleList2合并,合并的规则是按照元组的第N个元素,如果第N个元素有相同的,那么保留TupleList1中

的,删除TupleList2中的。

40,ukeysort(N, TupleList1) - TupleList2

TupleList1里面的元素都是元组

这个函数也同样返回一个元素是元组的列表,返回的这个列表是按照元组的第N个元素来排序的,如果元组中有出现

第N个元素相同的情况,删除掉后面的一个元组。

例子

lists:ukeysort(1,[{name,"zhangsan"},{sex,"male"},{name,"himan"}]).

结果

[{name,"zhangsan"},{sex,"male"}]

41,umerge(ListOfLists) - List1

这个函数和merge唯一不同的就是,里面不能出现相同的元素,如果出现相同的,那么删除之,只保留一个唯一的

例子

lists:umerge([[1,2],[2,3]]).

结果

[1,2,3]

分析:由于[[1,2],[2,3]]中merge后是[1,2,2,3],这个时候有两个相同的元素2,所以只保存一个2,所以结果是[1,2,3].

42,umerge3(List1, List2, List3) - List4

将List1, List2, List3合并

和merge3不同的是返回的List4中不能出现重复的元素

例子

lists:merge3([1,2],[2,3],[3,4]).

结果

[1,2,3,4]

43,unzip(List1) - {List2, List3}

List1里面的元素是元组,每个元组由两个元素组成,返回值List2包含每个List1中每个元组的第一个元素

返回值List3包含每个List1中每个元组的第二个元素。

例子

lists:unzip([{name,"zhangsan"},{sex,"male"},{city,"hangzhou"}]).

结果

{[name,sex,city],["zhangsan","male","hangzhou"]}

44,unzip3(List1) - {List2, List3, List4}

List1里面的元素是元组,每个元组由三个元素组成,返回值List2包含每个List1中每个元组的第一个元素;

返回值List3包含每个List1中每个元组的第二个元素;返回值List4包含每个List1中每个元组的第三个元素。

例子

lists:unzip3([{name,"zhangsan","apple"},{sex,"male","banana"},{city,"hangzhou","orange"}]).

结果

{[name,sex,city],

["zhangsan","male","hangzhou"],

["apple","banana","orange"]}

注意,最终返回的是一个元组。

45,usort(List1) - List2

将List1按照从小到大的顺序排序,如果排序后有重复的元素,删除重复的,只保存一个唯一的。

例子

lists:usort([4,3,2,1,2,3,4]).

结果

[1,2,3,4]

46,zip(List1, List2) - List3

将两个长度相同的列表合并成一个列表

List3是里面的每一个元组的第一个元素是从List1获取的,而每个元组的第二个元素是从List2中获取的

例子

lists:zip([name,sex,city],["zhangsan","male","hangzhou"]).

结果

[{name,"zhangsan"},{sex,"male"},{city,"hangzhou"}]

注意,如果List1和List2长度不一致,那么这个函数将会报错。

47,zip3(List1, List2, List3) - List4

将三个长度相同的列表合并成一个列表

List3是里面的每一个元组的第一个元素是从List1获取的,而每个元组的第二个元素是从List2中获取的

每个元组的第三个元素是从List3中获取的。

例子

lists:zip3([name,sex,city],["zhangsan","male","hangzhou"],["nick","1","zhejiang"]).

结果

[{name,"zhangsan","nick"},

{sex,"male","1"},

{city,"hangzhou","zhejiang"}]

参考链接:

;i=0

zblog二次开发教材的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于zblog开发文档、zblog二次开发教材的信息别忘了在本站进行查找喔。

取消
扫码支持 支付码