WordPress文章内容的各种调用

用Wordpress建站,尤其是CMS,经常需要各种形式的调用。本文将从最基本由浅入深地讲解各种内容的傻瓜式调用方法,同时,有特别要求而文章没有讲到的,请在评论里提出,我会补充到文章里,但请注意,限于篇幅,本文仅限Wordpress文章的调用,而评论的调用将另外撰文。

初阶

调用文章标题:<?php the_title(); ?>

调用文章内容:<?php the_content(); ?>

调用文章摘要:<?php the_excerpt(); ?>

调用作者姓名:<?php the_author(); ?>

调用文章发布时间:<?php the_time(); ?>

调用作者的Gravatar头像:<?php echo get_avatar( get_the_author_email(), 36 ); ?>

现在将这些内容加在Wordpress的循环里,就可以得到不计分类的最新文章数篇了。到这里,普通的Bloger已经够用了,但是针对用WP做站的站长们,显然还难以满足,那么请继续阅读本文。

进阶

调用指定分类文章

用WP做CMS,肯定需要在某处调用这一分类,在另一处调用别的分类,这一点WP是完全可以做到的。关键的语句就是:<?php query_posts(); ?>,具体的做法就是:

在WP的循环前面(也就是<?php if(have_posts()) ?>)加上下面的代码。

<?php

$cat_1 = get_cat_ID(‘分类一’);

$cat_2 = get_cat_ID(‘分类二’);

$limit = get_option(‘posts_per_page’);

$paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1;

query_posts(‘cat=’ . $cat_1 . ‘,’ . $cat_2 . ‘&showposts=’ . $limit=10 . ‘&paged=’ . $paged);

$wp_query->is_archive = true; $wp_query->is_home = false;

?>

注意:分类一和分类二改成你想要的分类,当然你也可以增加。增加的方法如下,红字部分是增加分类三的地方:

<?php

$cat_1 = get_cat_ID(‘分类一’);

$cat_2 = get_cat_ID(‘分类二’);

$cat_3 = get_cat_ID(‘分类三’);

$limit = get_option(‘posts_per_page’);

$paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1;

query_posts(‘cat=’ . $cat_1 . ‘,’ . $cat_2 . ‘,’ . $cat_3 . ‘&showposts=’ . $limit=10 . ‘&paged=’ . $paged);

$wp_query->is_archive = true; $wp_query->is_home = false;

?>

上面的代码中,$limit=10表示的是你想调用的最新文章的数量,通过修改这个数字可以改变文章显示数量。

不调用指定分类的文章
有时候,我们的某个分类实际上是特殊作用的,而在一些情况下,比如我们的博客有分类一、分类二和分类三,在首页,我们想显示分类一、分类二,却不想显示分类三,那么怎么办?好了,具体的做法和上面

不调用指定分类的文章

有时候,我们的某个分类实际上是特殊作用的,而在一些情况下,比如我们的博客有分类一、分类二和分类三,在首页,我们想显示分类一、分类二,却不想显示分类三,那么怎么办?好了,具体的做法和上面

不调用指定分类的文章

有时候,我们的某个分类实际上是特殊作用的,而在一些情况下,比如我们的博客有分类一、分类二和分类三,在首页,我们想显示分类一、分类二,却不想显示分类三,那么怎么办?好了,具体的做法和上面调用指定分类的文章类似,在WP的循环前面(也就是<?php if(have_posts()) ?>)加上下面的代码:

<?php

$cat_1 = get_cat_ID(‘分类三’);

$limit = get_option(‘posts_per_page’);

$paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1;

query_posts(‘cat=-‘ . $cat_1 . ‘&showposts=’ . $limit=10 . ‘&paged=’ . $paged);

$wp_query->is_archive = true; $wp_query->is_home = false;

?>

注意到红色部分了吗,对了,就是多了个“-”号。

调用文章的第一幅图

在functions.php中加入代码:

<?php

function catch_that_image() {

      global $post, $posts;

      $first_img = ”;

      ob_start();

      ob_end_clean();

      $output = preg_match_all(‘/<img.+src=[\'”]([^\'”]+)[\'”].*>/i’,

$post->post_content, $matches);

      $first_img = $matches [1] [0];

      if(empty($first_img)){ //Defines a default image

        $first_img = “/images/default.jpg”;

      }

      return $first_img;
    }
?>
在要调用图片的地方加入代码:
<img src=”<?php echo catch_that_image() ?>” />

« »

发表评论