欢迎访问我们的网站

选择语言

  • English
  • 简体中文
  • 日本語
  • 한국어
  • Français
  • Deutsch
  • Español
  • Português
  • Italiano
  • Русский
  • العربية
  • Nederlands
  • Türkçe
  • Polski
  • Svenska
  • Dansk

WordPress系列

09列表调用方式–新手小白,快速使用静态页面建立wordpress主题

09.09.2025 49

09列表调用方式
一,栏目列表名称的相关调用
1.列表栏目名称调用
1.1.列表名称调用采用代码

TEXT
1
<?php single_cat_title(); ?>

2.列表描述的调用采用函数:

TEXT
123456
<?php if (is_category()) {
    $category_description = category_description();
    if (!empty($category_description)) {
        echo '<div class="category-description">' . $category_description . '</div>';
    }
} ?>

二,栏目列表循环的调用
1.列表循环调用采用代码:

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

2.列表循环调用采用函数:

TEXT
1234
<?php endwhile; endif; ?>   
例:
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php endwhile; endif; ?>

举例:

TEXT
1234567891011121314151617
<?php
                if ( have_posts() ) :
                    while ( have_posts() ) : 
                    the_post();
                    echo '';
                    echo '<a href="'.get_permalink().'" title="'.get_the_title().'">';
                    echo get_the_title();
                    echo '</a>';
                    echo '';
                    endwhile;
                    else :
                    echo '暂无相关内容';  
                endif;
                ?>
//echo里面 的内容可以自定义

注意:中间的调用连接符采用的是“.”,而不是“+”,“.”是字符串连接符,而“+”是加法运算符。

举例二:

TEXT
1234567891011121314
<?php
                if ( have_posts() ) :
                    while ( have_posts() ) : 
                    the_post();
                 ?>
                 
                 <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
                 
                 
                 <?php endwhile;
                else :
                    echo '暂无相关内容';    
                endif;
                ?>

注意:中间的调用采用的是分离式的调用,使用了“”标签,头部的数据查询调用,底部的结束,中间的内容调用。,
但是中间部分的调用也是采用了php标签,但是php标签的结束符是“?>”,而不是“;”。

二,位置导航的调用
1.页面内容自定义位置导航:

TEXT
12345678910
  <?php if (is_category()) {
    $current_cat = get_queried_object();
    echo '<a href="'.home_url().'">首页</a> > ';
    if ($current_cat->parent) {
        $parent_cat = get_category($current_cat->parent);
        echo '<a href="'.get_category_link($parent_cat->term_id).'">'.$parent_cat->name.'</a> > ';
    }
    echo $current_cat->name;
}
 ?>

2.页面内部代码function.php结合调用
function.php里面写位置导航的自定义类:

TEXT
12345678910111213141516171819202122232425262728293031323334353637383940
     
function custom_breadcrumbs() {
    echo '<nav class="breadcrumb" aria-label="Breadcrumb"><ol>';
    
    // 首页链接
    echo '<li><a href="'.esc_url(home_url()).'">'.__('Home').'</a></li>';
    
    if (is_category()) {
        // 分类页处理
        $current_cat = get_queried_object();
        if ($current_cat->parent) {
            $ancestors = get_ancestors($current_cat->term_id, 'category');
            $ancestors = array_reverse($ancestors);
            foreach ($ancestors as $ancestor) {
                $cat = get_category($ancestor);
                echo '<li><a href="'.esc_url(get_category_link($cat->term_id)).'">'.$cat->name.'</a></li>';
            }
        }
        echo '<li>'.$current_cat->name.'</li>';
        
    } elseif (is_single()) {
        // 文章页处理
        $categories = get_the_category();
        if ($categories) {
            $cat = $categories[0];
            if ($cat->parent) {
                $ancestors = get_ancestors($cat->term_id, 'category');
                $ancestors = array_reverse($ancestors);
                foreach ($ancestors as $ancestor) {
                    $parent_cat = get_category($ancestor);
                    echo '<li><a href="'.esc_url(get_category_link($parent_cat->term_id)).'">'.$parent_cat->name.'</a></li>';
                }
            }
            echo '<li><a href="'.esc_url(get_category_link($cat->term_id)).'">'.$cat->name.'</a></li>';
        }
        echo '<li>'.get_the_title().'</li>';
    }
    
    echo '</ol></nav>';
}

前端页面调用当前页面代码:

TEXT
1
<?php custom_breadcrumbs(); ?> 

注意:上面的代码是写好的,有多种方式,可以自己选择,但是要记得在function.php里面写上位置导航的自定义类,不然会报错。

四:分页代码调用
1.内容页面分页代码书写

TEXT
12345678
<?php the_posts_pagination(array(
    'mid_size'  => 3,
    'prev_text' => __('上一页', 'textdomain'),
    'next_text' => __('下一页', 'textdomain'),
    'before_page_number' => '<span class="meta-nav screen-reader-text">第</span>',
    'after_page_number'  => '<span class="meta-nav screen-reader-text">页</span>'
));
 ?>

2.配合function.php调用进行页面调用
function.php里面写分页的自定义类:

TEXT
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
//分页函数//	
function lypages($query_string = '', $custom_query = null)
{
	global $wp_query, $paged;
	
	// 确定使用哪个查询对象
	$my_query = $custom_query ? $custom_query : $wp_query;
	
	// 如果提供了查询字符串且没有提供自定义查询对象,则创建新查询
	if (!empty($query_string) && !$custom_query) {
		// 将查询字符串解析为数组
		parse_str($query_string, $query_args);
		// 使用WordPress后台设置的每页文章数
		if (!isset($query_args['posts_per_page'])) {
			$query_args['posts_per_page'] = get_option('posts_per_page');
		}
		// 确保分页参数正确
		if (!isset($query_args['paged'])) {
			$query_args['paged'] = get_query_var('paged') ? get_query_var('paged') : 1;
		}
		$my_query = new WP_Query($query_args);
	}
	
	// 获取当前页码
	if (empty($paged)) {
		$paged = get_query_var('paged') ? get_query_var('paged') : 1;
	}
	
	$prev = $paged - 1; // 上一页
	$next = $paged + 1; // 下一页
	$range = 2; // 当前页前后显示的页码数量
	$showitems = ($range * 2) + 1; // 显示的页码按钮总数
	
	// 获取总页数
	$pages = $my_query->max_num_pages;
	
	// 只有当总页数大于1时才显示分页
	if ($pages > 1) {
		echo "<div class='pagination'>";
		// 首页链接
		if ($paged > 2 && $paged > $range+1 && $showitems < $pages) {
			echo "<a href='" . get_pagenum_link(1) . "'>首页</a>";
		}
		// 上一页链接
		if ($paged > 1) {
			echo "<a href='" . get_pagenum_link($prev) . "'>上一页</a>";
		}
		
		// 页码链接
		for ($i = 1; $i <= $pages; $i++) {
			if (1 != $pages && (!($i >= $paged + $range + 1 || $i <= $paged - $range - 1) || $pages <= $showitems)) {
				echo ($paged == $i) ? 
					"<a class='active' href='" . get_pagenum_link($i) . "'>" . $i . "</a>" : 
					"<a href='" . get_pagenum_link($i) . "' class='inactive'>" . $i . "</a>";
			}
		}
		
		// 下一页链接
		if ($paged < $pages) {
			echo "<a href='" . get_pagenum_link($next) . "'>下一页</a>";
		}
		// 末页链接
		if ($paged < $pages - 1 && $paged + $range - 1 < $pages && $showitems < $pages) {
			echo "<a href='" . get_pagenum_link($pages) . "'>末页</a>";
		}
		echo "</div>";
	}
}

前端调用分页代码

TEXT
1
<?php lypages(''); ?>   

注意:上面的代码是写好的,有多种方式,可以自己选择,但是要记得在function.php里面写上分页的自定义类,不然会报错。

五,补充文章列表循环的相关调用

TEXT
1234567891011121314151617181920212223242526272829303132333435363738
1.文章标题调用
1.1.文章标题调用采用代码:
<?php the_title(); ?>
1.2.文章标题调用采用函数:
<?php echo the_title(); ?>
2.文章缩略图调用
2.1.文章缩略图调用采用代码:
<?php the_post_thumbnail(); ?>
2.2.文章缩略图调用采用函数:
<?php echo the_post_thumbnail(); ?>
3.文章缩略图URL调用
3.1.文章缩略图URL调用采用代码:
<?php the_post_thumbnail_url(); ?>
3.2.文章缩略图URL调用采用函数:
<?php echo the_post_thumbnail_url(); ?>
4.文章缩略图ID调用
4.1.文章缩略图ID调用采用代码:
<?php the_post_thumbnail_id(); ?>
4.2.文章缩略图ID调用采用函数:
<?php echo the_post_thumbnail_id(); ?>
4.3.日期调用    
<?php the_time('Y-m-d'); ?> 
4.4.时间调用
<?php the_time('H:i:s'); ?> 
4.5.作者调用
<?php the_author(); ?> 
4.6.作者ID调用
<?php the_author_ID(); ?> 
4.7.描述调用
<?php the_excerpt(); ?> 
4.8.内容调用
<?php the_content(); ?> 
4.9.内容长度调用
<?php the_content_limit(100); ?> 
4.10.评论数调用
<?php comments_number('0', '1', '%'); ?> 
4.11.评论链接调用
<?php comments_popup_link('0', '1', '%'); ?> 

微信二维码
抖音二维码