0

0

在 WordPress 中创建“特色图片”:将附件提升到新的水平

WBOY

WBOY

发布时间:2023-09-04 15:53:08

|

1630人浏览过

|

来源于php中文网

原创

在 wordpress 中创建“特色图片”:将附件提升到新的水平

在本系列中,我介绍:

  • 为附件分配类别和分类法,
  • 按分类查询媒体文件,以便您可以在自定义循环中输出它们,
  • 使用图像分类查询将其显示在存档页面上,
  • 将图像添加到类别或分类术语作为类别或术语的“特色图像”

在第 1 部分中,我演示了如何为附件创建新的分类法。在第 2 部分中,我向您展示了如何为文档创建自定义模板文件并添加一个循环来显示每个文档的媒体文件的链接,在第 3 部分中,我为 gallery-category 创建了一个自定义模板文件分类法,将具有给定术语的所有图像显示为画廊样式的存档页面。

在最后一部分中,我将演示一些略有不同的内容:如何为图像分配类别,然后编辑类别的存档模板以将该图像显示为该类别的“特色图像”。您也可以使用非常类似的技术对标签或分类术语执行此操作。

在本教程中,我将创建一个主题,该主题将是二十四岁的子主题。该主题将包括一个函数文件和一个用于类别存档的自定义模板文件。您可以在代码包中下载该主题。

您需要什么

要学习本教程,您需要具备以下条件:

  • WordPress 的开发安装
  • FTP 访问(或者 MAMP 或类似的,如果您在本地工作)
  • 代码编辑器

1. 将类别应用于附件

默认情况下,WordPress 不允许您为附件分配类别和标签,而在本教程中您需要能够执行此操作。幸运的是,这个问题很容易修复,正如我在之前关于为附件分配类别和标签的教程中所演示的那样。

注意:此技术适用于标签和类别,如果您使用自己的分类法执行此操作,则需要在注册时将附件指定为分类法适用的帖子类型。您可以按照本系列的第一部分来完成此操作。

在您的主题中,创建一个名为 functions.php 的文件,并向其中添加以下代码:

<?php  
// add categories to attachments  
function wptp_add_categories_to_attachments() {
      register_taxonomy_for_object_type( 'category', 'attachment' );  
}  
add_action( 'init' , 'wptp_add_categories_to_attachments' ); 
?>

这使用 register_taxonomy_for_object_type() 函数向附件添加类别。现在,当您查看媒体库屏幕时,您将看到类别已启用。

下一步是添加一些图像 - 每个类别只需添加一个图像。您还需要添加另一个名为“精选”的类别,并确保您想要以这种方式使用的每个图像也属于该类别。

下面您可以看到一个示例媒体编辑屏幕,其中显示了类别:

在 WordPress 中创建“特色图片”:将附件提升到新的水平advanced-use-of-attachments-in-wordpress-part4-image-with-categories在 WordPress 中创建“特色图片”:将附件提升到新的水平

您还可以查看我分配了正确类别的所有图像:

DreamStudio
DreamStudio

SD兄弟产品!AI 图像生成器

下载
在 WordPress 中创建“特色图片”:将附件提升到新的水平advanced-use-of-attachments-in-wordpress-part4-media-library-with-categories在 WordPress 中创建“特色图片”:将附件提升到新的水平

最后,我将向我的网站添加一些虚拟帖子,并将它们放入相关类别中,以便在我的存档页面中显示一些内容:

在 WordPress 中创建“特色图片”:将附件提升到新的水平advanced-use-of-attachments-in-wordpress-part4-posts-with-categories在 WordPress 中创建“特色图片”:将附件提升到新的水平

2.创建类别模板

下一步是创建自定义类别模板。由于我的主题是二十四的子主题,我将复制该主题的 category.php 文件并将其复制到我的子主题,并对开头注释进行一些更改:

<?php  
/**   
 * The template for displaying Category pages   
 * Custom template which displays a featured image first.   
 * Supports Part 4 of tutorial series on Advanced Use of Images in WordPress for WPTutsplus   
 */ get_header();  ?>
<section class="content-area" id="primary">
  <div class="site-content" id="content" role="main"><?php if ( have_posts() ) : ?>
    <header class="archive-header">
      <h1 class="archive-title"></h1>
        <?php 
          // Show an optional term description.
          $term_description = term_description();
          if ( ! empty( $term_description ) ) :
            printf( '<div class="taxonomy-description">%s</div>', $term_description );
          endif;
        ?>
    </header><!-- .archive-header -->

<?php   
// Start the Loop. 					   
while ( have_posts() ) : the_post(); 					     
      /* 					       
       * Include the post format-specific template for the content. If you want to 					            
       * use this in a child theme, then include a file called called content-___.php 					            
       * (where ___ is the post format) and that will be used instead. 					       
       */ 					     
      get_template_part( 'content', get_post_format() ); 					   
    endwhile; 			
		   
    // Previous/next page navigation. 					   
    twentyfourteen_paging_nav();			   
  else : 					     
    // If no content, include the "No posts found" template. 					              
    get_template_part( 'content', 'none' ); 				   
  endif;    
  ?></div><!-- #content -->
</section><!-- #primary -->

<?php  get_sidebar( 'content' ); get_sidebar(); get_footer(); ?>

3.向类别模板添加自定义查询

在主循环上方,使用 WP_Query 添加自定义循环。在结束 标记后插入以下内容:

<?php  
// display a featured image for the category  
// identify the current category  
$currentcat = get_queried_object(); 
$currentcatname = $currentcat->slug;
?>

使用 get_queried_object() 标识当前显示的类别。

下面,使用 WP_Query 定义自定义查询的参数:

<?php    
// define query arguments for the featured image    
$args = array( 	     
    'post_type' => 'attachment',
    'post_status' => 'inherit',
    'category_name' => $currentcatname,
  );
  $query = new WP_Query( $args );
?>

这标识当前类别以及“特色”类别中的所有附件。请注意,由于 WordPress 设置附件帖子状态的方式,您需要包含 'post_status' => 'inherit' 作为参数。

现在在此下方添加循环:

<?php  
  // The Loop  while ( $query->have_posts() ) : $query->the_post();
  // define attributes for image display
  $imgattr = array(
		'alt'   => trim( strip_tags( get_post_meta( $attachment_id, '_wp_attachment_image_alt', true ) ) ),
	);

  // output the image ?>
  <div class="category-image"></div>
<?php 
endwhile;  
// reset the query so the default query can be run  
wp_reset_postdata(); ?>

确保您不要错过最后的 wp_reset_postdata() ,否则类别存档的主查询将无法工作。

添加完所有这些后,保存您的类别模板并查看您的类别存档页面之一。它应该类似于本教程开头的屏幕截图。

摘要

在这个由四个教程组成的系列中,我演示了一些在 WordPress 中处理图像的高级技术。其中包括:

  • 注册专门用于附件的分类
  • 使用自定义模板创建 dosucmtn 列表页面
  • 再次使用自定义模板创建图库页面以显示给定类别中的图像
  • 为每个类别创建“特色图片”并将其显示在类别存档页面上。

正如您所见,您可以在 WordPress 中对图像和媒体执行更多操作,而不仅仅是将它们附加到帖子或将它们用作特色图像。只要发挥一点想象力,您就可以像任何其他帖子类型一样查询它们,并输出文档或显示图像的链接。

WPS零基础入门到精通全套教程!
WPS零基础入门到精通全套教程!

全网最新最细最实用WPS零基础入门到精通全套教程!带你真正掌握WPS办公! 内含Excel基础操作、函数设计、数据透视表等

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
wordpress seo
wordpress seo

WordPress网站SEO优化方法有:1、选择一个SEO友好的主题,具有清晰的代码结构,快速的加载速度和响应式设计;2、使用SEO插件,优化你的标题标签,元描述,关键字,XML站点地图等;3、优化你的内容,内容是SEO优化的核心;4、优化你的网站速度;5、创建友好的URL;6、使用内部链接;7、优化图像;8、使用社交媒体;9、定期更新你的网站;10、监控和分析你的网站等等。

435

2023.09.18

wordpress下载后怎么安装
wordpress下载后怎么安装

安装前准备:确保服务器满足要求、获取安装文件、创建数据库。上传 wordpress 文件。创建数据库和用户。运行安装程序:选择语言、输入数据库信息、网站标题和管理员信息。安装 wordpress。安装后配置:设置永久链接、安装主题、安装插件、创建内容。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

336

2024.04.15

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

49

2026.03.13

Python异步编程与Asyncio高并发应用实践
Python异步编程与Asyncio高并发应用实践

本专题围绕 Python 异步编程模型展开,深入讲解 Asyncio 框架的核心原理与应用实践。内容包括事件循环机制、协程任务调度、异步 IO 处理以及并发任务管理策略。通过构建高并发网络请求与异步数据处理案例,帮助开发者掌握 Python 在高并发场景中的高效开发方法,并提升系统资源利用率与整体运行性能。

88

2026.03.12

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

272

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

59

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

99

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

105

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

230

2026.03.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号