当前位置: 首页 >wordpress

WordPress 模板制作笔记(内容)

wordpress 2015-8-4 阅读量: 399 TAG: 标签:

1.网站标题 关键词 描述
tag作为关键词

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 <?php
$description = '';
$keywords = '';

if (is_home()) {
   // 将以下引号中的内容改成你的主页description
   $description = "  ";

   // 将以下引号中的内容改成你的主页keywords
   $keywords = " u";
}
elseif (is_page()) {
   $description1 = get_post_meta($post->ID, "description", true);
   $description2 = str_replace("\n","",mb_strimwidth(strip_tags($post->post_content), 0, 200, "", 'utf-8'));

   // 填写自定义字段description时显示自定义字段的内容,否则使用文章内容前200字作为描述
   $description = $description1 ? $description1 : $description2;
   
   // 填写自定义字段keywords时显示自定义字段的内容,否则使用文章tags作为关键词
    $keywords = single_post_title('', false);
   
}
elseif (is_single()) {
   $description1 = get_post_meta($post->ID, "description", true);
   $description2 = str_replace("\n","",mb_strimwidth(strip_tags($post->post_content), 0, 200, "", 'utf-8'));

   // 填写自定义字段description时显示自定义字段的内容,否则使用文章内容前200字作为描述
   $description = $description1 ? $description1 : $description2;
   
   // 填写自定义字段keywords时显示自定义字段的内容,否则使用文章tags作为关键词
   $keywords = get_post_meta($post->ID, "keywords", true);
   if($keywords == '') {
      $tags = wp_get_post_tags($post->ID);    
      foreach ($tags as $tag ) {        
         $keywords = $keywords . $tag->name . ", ";    
      }
      $keywords = rtrim($keywords, ', ');
   }
}
elseif (is_category()) {
   // 分类的description可以到后台 - 文章 -分类目录,修改分类的描述
   $description = category_description();
   $keywords = single_cat_title('', false);
}
elseif (is_tag()){
   // 标签的description可以到后台 - 文章 - 标签,修改标签的描述
   $description = tag_description();
   $keywords = single_tag_title('', false);
}
$description = trim(strip_tags($description));
$keywords = trim(strip_tags($keywords));
?>
<meta name="keywords" content="<?php echo $keywords; ?/>" />
<meta name="
description" content="<?php echo $description; ?/>" />

2.当前位置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<a href="<?php bloginfo('url'); ?>"><?php bloginfo('name'); ?></a>     &raquo;  
    <?php  
        if( is_single() ){  
            $categorys = get_the_category();  
            $category = $categorys[0];  
            echo( get_category_parents($category->term_id,true, '&raquo; ') );  
            the_title();  
        } elseif ( is_page() ){  
            the_title();  
        } elseif ( is_category() ){  
            single_cat_title();  
        } elseif ( is_tag() ){  
            single_tag_title();  
        } elseif ( is_day() ){  
            the_time('Y年Fj日');  
        } elseif ( is_month() ){  
            the_time('Y年F');  
        } elseif ( is_year() ){  
            the_time('Y年');  
        } elseif ( is_search() ){  
            echo $s.' 的搜索结果';  
        }  
?>

标题:

1
<?php the_title_attribute(); ?>

作者:

1
<?php the_author_posts_link(); ?>

来源:
当前栏目:
< ?php the_category( ‘, ‘ ) ?>
或者
显示第一个分类名称同时并有该分类链接。

1
2
3
4
5
6
<?php
$category = get_the_category();
if($category[0]){
echo<a href=“‘.get_category_link($category[0]->term_id ).'”>’.$category[0]->cat_name.'';
}
?>

当前栏目不带连接:

1
<?php foreach((get_the_category()) as $cat){echo $cat->cat_name;}?>

只显示第一个类别的名称:

1
2
3
4
<?php
$category = get_the_category();
echo $category[0]->cat_name;
?>

当前栏目连接:

1
2
3
4
5
6
 <?php
$category = get_the_category();
if($category[0]){
echo get_category_link($category[0]->term_id );
}
 ?>

评论次数:

1
<?php comments_number('暂无评论', '1条评论', '% 评论' );?>

时间:

1
<?php the_time('Y年n月j日  G:h') ?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//在24小时以内发布的显示为几分钟前或几小时前
function timeago() {
 global $post;
 $date = $post->post_date;
 $time = get_post_time('G', true, $post);
 $time_diff = time() - $time;
 if ( $time_diff > 0 && $time_diff < 24*60*60 )
 $display = sprintf( __('%s 前'), human_time_diff( $time ) );
 else
 $display = date(get_option('date_format'), strtotime($date) );
 
 return $display;
}
add_filter('the_time', 'timeago');

简介:

1
<?php the_excerpt("Read More..."); ?>

文章内容:

1
2
3
4
5
6
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
   <?php the_content("Read More..."); ?>
<?php endwhile; ?>
<?php else : ?>
<?php endif; ?>

Tag标签:

1
<?php the_tags(''); ?>

相关文章:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$post_tags = wp_get_post_tags($post->ID);
if ($post_tags) {
foreach ($post_tags as $tag)
{
    // 获取标签列表
    $tag_list[] .= $tag->term_id;
}
// 随机获取标签列表中的一个标签
$post_tag = $tag_list[ mt_rand(0, count($tag_list) - 1) ];
// 该方法使用 query_posts() 函数来调用相关文章,以下是参数列表
$args = array(
        'tag__in' => array($post_tag),
        'category__not_in' => array(NULL),      // 不包括的分类ID
        'post__not_in' => array($post->ID),
        'showposts' => 6,               // 显示相关文章数量
        'caller_get_posts' => 1
    );
query_posts($args);
if (have_posts()) :
    while (have_posts()) : the_post(); update_post_caches($posts); ?>
<li>* <a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; else : ?>
    <li>* 暂无相关文章</li>
<?php endif; wp_reset_query(); } ?>

上一篇:

1
<?php previous_post_link('&nbsp&nbsp;上一篇: %link'); ?>

或者:

1
2
3
4
5
<?php
$prev_post = get_previous_post(TRUE);
if(!empty($prev_post)):?>
<a title="<?php echo $prev_post->post_title;?>" href="<?php echo get_permalink($prev_post->ID);?>">上一篇</a>
<?php endif;?>

下一篇:

1
<?php next_post_link('&nbsp&nbsp;下一篇: %link'); ?>

或者

1
2
3
4
5
<?php
$next_post = get_next_post(TRUE);
if(!empty($next_post)):?>
<a title="<?php echo $next_post->post_title;?>" href="<?php echo get_permalink($next_post->ID);?>">下一篇</a>
<?php endif;?>

评论:
在single.php中调用< ?php endwhile; ?>和< ?php else : ?>中间让入

1
<?php comments_template(); ?>

阅读次数:
首先将下面代码加到主题functions模版文件中:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function getPostViews($postID){  
    $count_key = 'post_views_count';  
    $count = get_post_meta($postID, $count_key, true);  
    if($count==''){  
        delete_post_meta($postID, $count_key);  
        add_post_meta($postID, $count_key, '0');  
        return "0 View";  
    }  
    return $count.' Views';  
}  
function setPostViews($postID) {  
    $count_key = 'post_views_count';  
    $count = get_post_meta($postID, $count_key, true);  
    if($count==''){  
        $count = 0;  
        delete_post_meta($postID, $count_key);  
        add_post_meta($postID, $count_key, '0');  
    }else{  
        $count++;  
        update_post_meta($postID, $count_key, $count);  
    }  
}

接下来将下面代码加到主题single模版主循环的中:

1
<?php setPostViews(get_the_ID()); ?>

也就是类似这句的下面

1
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

三、最后,将调用显示阅读次数代码加到single模版适当的位置:

1
<?php echo getPostViews(get_the_ID()); ?>

如果想在其它位置显示阅读次数,可以将下面代码也加到functions模版中:

1
remove_action('wp_head''adjacent_posts_rel_link_wp_head'100;

按照点击量排列内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$args = array(   
  ‘meta_query’ => array(   
    array(   
      ‘key’ => ‘post_views_count’   
    )   
   ),   
  ‘orderby’ => ‘meta_value’,   
  ‘order’=>’DESC’   
);   
  
/*或者  
$args = array(  
  ‘meta_query’ => array(  
    array(  
      ‘key’ => ‘post_views_count’,  
      ‘type’=>’NUMERIC’  
    )  
   ),  
  ‘orderby’ => ‘meta_value_num’,  
  ‘order’=>’DESC’  
);  
*/
  
query_posts($args);

评论地区:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/**
 * 模板放QQWry.Dat
 * @param string $ip
 * @return string|mixed
 */

 function convertip($ip) {  
    $dat_path = TEMPLATEPATH.'/QQWry.Dat';  
    if(!$fd = @fopen($dat_path, 'rb')){  
        return '未知地区用户!';  
    }  
    $ip = explode('.', $ip);  
    $ipNum = $ip[0] * 16777216 + $ip[1] * 65536 + $ip[2] * 256 + $ip[3];  
    $DataBegin = fread($fd, 4);  
    $DataEnd = fread($fd, 4);  
    $ipbegin = implode('', unpack('L', $DataBegin));  
    if($ipbegin < 0) $ipbegin += pow(2, 32);  
    $ipend = implode('', unpack('L', $DataEnd));  
    if($ipend < 0) $ipend += pow(2, 32);  
    $ipAllNum = ($ipend - $ipbegin) / 7 + 1;  
    $BeginNum = 0;  
    $EndNum = $ipAllNum;  
    while($ip1num>$ipNum || $ip2num< $ipNum) {  
        $Middle= intval(($EndNum + $BeginNum) / 2);  
        fseek($fd, $ipbegin + 7 * $Middle);  
        $ipData1 = fread($fd, 4);  
        if(strlen($ipData1) < 4) {  
            fclose($fd);  
            return '系统出错!';  
        }  
        $ip1num = implode('', unpack('L', $ipData1));  
        if($ip1num < 0) $ip1num += pow(2, 32);  
        if($ip1num > $ipNum) {  
            $EndNum = $Middle;  
            continue;  
        }  
        $DataSeek = fread($fd, 3);  
        if(strlen($DataSeek) < 3) {  
            fclose($fd);  
            return '系统出错!';  
        }  
        $DataSeek = implode('', unpack('L', $DataSeek.chr(0)));  
        fseek($fd, $DataSeek);  
        $ipData2 = fread($fd, 4);  
        if(strlen($ipData2) < 4) {  
            fclose($fd);  
            return '系统出错!';  
        }  
        $ip2num = implode('', unpack('L', $ipData2));  
        if($ip2num < 0) $ip2num += pow(2, 32);  
        if($ip2num < $ipNum) {  
            if($Middle == $BeginNum) {  
                fclose($fd);  
                return '未知';  
            }  
            $BeginNum = $Middle;  
        }  
    }  
    $ipFlag = fread($fd, 1);  
    if($ipFlag == chr(1)) {  
        $ipSeek = fread($fd, 3);  
        if(strlen($ipSeek) < 3) {  
            fclose($fd);  
            return '系统出错!';  
        }  
        $ipSeek = implode('', unpack('L', $ipSeek.chr(0)));  
        fseek($fd, $ipSeek);  
        $ipFlag = fread($fd, 1);  
    }  
    if($ipFlag == chr(2)) {  
        $AddrSeek = fread($fd, 3);  
        if(strlen($AddrSeek) < 3) {  
            fclose($fd);  
            return '系统出错!';  
        }  
        $ipFlag = fread($fd, 1);  
        if($ipFlag == chr(2)) {  
            $AddrSeek2 = fread($fd, 3);  
            if(strlen($AddrSeek2) < 3) {  
                fclose($fd);  
                return '系统出错!';  
            }  
            $AddrSeek2 = implode('', unpack('L', $AddrSeek2.chr(0)));  
            fseek($fd, $AddrSeek2);  
        } else {  
            fseek($fd, -1, SEEK_CUR);  
        }  
        while(($char = fread($fd, 1)) != chr(0))  
        $ipAddr2 .= $char;  
        $AddrSeek = implode('', unpack('L', $AddrSeek.chr(0)));  
        fseek($fd, $AddrSeek);  
        while(($char = fread($fd, 1)) != chr(0))  
        $ipAddr1 .= $char;  
    } else {  
        fseek($fd, -1, SEEK_CUR);  
        while(($char = fread($fd, 1)) != chr(0))  
        $ipAddr1 .= $char;  
 
        $ipFlag = fread($fd, 1);  
        if($ipFlag == chr(2)) {  
            $AddrSeek2 = fread($fd, 3);  
            if(strlen($AddrSeek2) < 3) {  
                fclose($fd);  
                return '系统出错!';  
            }  
            $AddrSeek2 = implode('', unpack('L', $AddrSeek2.chr(0)));  
            fseek($fd, $AddrSeek2);  
        } else {  
            fseek($fd, -1, SEEK_CUR);  
        }  
        while(($char = fread($fd, 1)) != chr(0)){  
            $ipAddr2 .= $char;  
        }  
    }  
    fclose($fd);  
    if(preg_match('/http/i', $ipAddr2)) {  
        $ipAddr2 = '';  
    }  
    $ipaddr = "$ipAddr1 $ipAddr2";  
    $ipaddr = preg_replace('/CZ88.Net/is', '', $ipaddr);  
    $ipaddr = preg_replace('/^s*/is', '', $ipaddr);  
    $ipaddr = preg_replace('/s*$/is', '', $ipaddr);  
    if(preg_match('/http/i', $ipaddr) || $ipaddr == '') {  
        $ipaddr = '未知';  
    }  
    $ipaddr = iconv('gbk', 'utf-8//IGNORE', $ipaddr);    
    if( $ipaddr != '  ' )  
        return $ipaddr;  
    else  
        $ipaddr = '评论者来自火星,无法或者其所在地!';  
        return $ipaddr;  
}

调用

1
<?php if ( is_user_logged_in() ) echo convertip(get_comment_author_ip()); ?>

来源:(微信/QQ号:909912499),欢迎分享本文,转载请保留出处!部分内容来自网络,如有侵权请联系删除处理!

本站提供代码修改,dedecms,WordPress仿站二次开发 / PHP网站建设以及SEO优化等网络营销推广等服务。

如有需要请加QQ: 909912499