首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在短代码中定义get_the_post_thumbnail_url的回退映像

get_the_post_thumbnail_url 是 WordPress 中用于获取文章特色图片 URL 的函数。在短代码中定义其回退图像,意味着当文章没有特色图片时,使用一个默认的图像作为替代。

以下是如何在短代码中实现这一功能的步骤:

基础概念

  • WordPress 短代码:短代码是一种自定义的标签,允许用户在 WordPress 内容中插入自定义功能。
  • get_the_post_thumbnail_url:此函数获取当前文章的特色图片 URL。
  • 回退图像:当主要资源(如特色图片)不可用时,使用的备用资源。

类型与应用场景

  • 类型:WordPress 短代码开发。
  • 应用场景:网站设计需要确保每篇文章都有图片展示,即使某些文章没有设置特色图片。

实现方法

  1. 创建短代码:首先,你需要创建一个自定义短代码。
  2. 获取特色图片 URL:使用 get_the_post_thumbnail_url 函数尝试获取特色图片 URL。
  3. 设置回退图像:如果没有获取到特色图片 URL,则使用预设的回退图像 URL。

示例代码

代码语言:txt
复制
function custom_thumbnail_shortcode( $atts ) {
    // 获取当前文章 ID
    $post_id = get_the_ID();

    // 尝试获取特色图片 URL
    $thumbnail_url = get_the_post_thumbnail_url( $post_id, 'full' );

    // 如果没有特色图片,则使用回退图像
    if ( ! $thumbnail_url ) {
        $fallback_image_url = 'https://example.com/path/to/fallback-image.jpg'; // 替换为你的回退图像 URL
        $thumbnail_url = $fallback_image_url;
    }

    // 返回图片 HTML
    return '<img src="' . esc_url( $thumbnail_url ) . '" alt="' . get_the_title() . '">';
}
add_shortcode( 'custom_thumbnail', 'custom_thumbnail_shortcode' );

使用短代码

在你的 WordPress 文章或页面中,你可以这样使用这个短代码:

代码语言:txt
复制
[custom_thumbnail]

参考链接

通过这种方式,你可以确保即使文章没有特色图片,页面上也会显示一个默认的回退图像,从而保持网站设计的一致性和美观性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

.NET平台系列26:在 Windows 上安装 .NET Core.NET5.NET6

系列目录 【已更新最新开发文章,点击查看详细】   本文介绍如何在 Windows 上安装 .NET。 .NET 由运行时和 SDK 组成。...“Web 和云”部分“ASP.NET 和 Web 开发”工作负荷 。 “Web 和云”部分“Azure 开发”工作负载 。 “桌面和移动”部分“NET 桌面开发”工作负载 。 ?...提示:安装程序返回退代码 0 以表示成功,返回退代码 3010 以表示需要重启。 任何其他值通常都是错误代码。...每个存储库包含 .NET(SDK 或运行时)和可以使用操作系统不同组合映像。 Microsoft 提供适合特定场景映像。...例如,ASP.NET Core 存储库提供针对在生产环境运行 ASP.NET Core 应用生成映像

3.2K10
  • 一文详解 WordPress 文章特色图片或缩略图功能

    开启文章缩略图功能 要使用文章缩略图功能,首先需要通过函数 add_theme_support() 来开启,具体是在当前 WordPress 主题 functions.php 文件添加以下代码: add_theme_support...我们可以设置额外定义尺寸缩略图,代码如下: 在 functions.php 添加如下代码: add_theme_support( 'post-thumbnails' ); set_post_thumbnail_size...index.php 或者 home.php(取决主题结构)主循环添加如下代码: <?...最后就是定义文章缩略图顺序,首先使用文章特色图片,如果没有设置文章特色图片,可以定义获取文章缩略图顺序。...get_the_post_thumbnail():获取文章缩略图而不是输出它 有时候,我们可能在 PHP 代码返回文章缩略图,而不是输出它,可以使用下面简单代码: $image = get_the_post_thumbnail

    1.5K10

    使用GitLabCI实现monorepos项目CICD

    基于现代Web应用程序通常都包含多种服务。例如,后端API和前端客户端。在规模扩大成为问题大型项目中,服务也可以拆分为多个微服务。如何在这样项目中组织源代码?...这包括构建和测试服务,将每个服务捆绑在Docker映像,并将这些映像存储在(私有)GitLab Docker Registry。...基本上,GitLab CI / CD管道包括几个阶段build,test和deploy。该管道配置有一个名为.gitlab-ci.yaml文件,该文件存储在我们存储库根目录。...而且,我们通常只希望构建,测试和部署应用程序已更改那些服务,而不是将所有服务都合并在一起,因为这可能会非常耗时。 在.gitlab-ci.yaml文件我们为每个服务和每个阶段定义job。...一旦构建和测试,我们Docker镜像就可以部署了。我们为应用程序每个服务定义部署作业,在其中登录服务器并触发从GitLab Docker镜像仓库中提取新映像

    9.5K30

    深孔钻削方法总结

    某些类型钻头在深孔加工方面具有固有优势。抛物线槽麻花钻,它改变了槽几何形状,以优化深孔排屑效果。枪钻和 BTA 钻都是针对深孔需求,尤其是排屑。 冷却液在排屑过程至关重要。...开放孔会导致切屑被冲到底部,必须再次排出。 自定义深孔循环使用自定义 g 代码来优化每个阶段啄钻策略,因为孔会越来越深。 自定义深孔钻孔循环 不幸是,固定钻孔循环在钻非常深孔时通常会受到限制。...理想情况下,您希望在不啄钻情况下钻几倍直径深度,然后开始啄钻。孔钻得越深,啄钻频率就需要增加。啄钻性质也必须根据孔深而改变。我们从一点回退开始——刚好足以折断切屑。...最后,只要我们在编写自定义循环,我们就需要考虑是否使用快速或进给速度进行啄钻和从孔回退。这是不切割任何东西反向运动,与保持所有运动处于进给速度固定钻孔循环相比,我们有可能节省更多时间。...通过使用自定义 g 代码来实现所有这些功能, 我们可以在啄钻上浪费尽可能少时间,同时确保当加工变得艰难时,我们能够做些事情来保持刀具正常运行而不会损坏。

    9410

    Spring Boot2+Resilience4j实现容错之Bulkhead

    相比之下,Netflix Hystrix对Archaius有一个编译依赖关系,Archaius有更多外部库依赖关系,Guava和Apache Commons。...我们可能并不希望这种不友好提示,因此Resilience4j提供了自定义失败回退方法。当请求并发量过大时,无法正常执行请求将进入回退方法。...().createObjectNode().put("errorFile", System.currentTimeMillis()); } 注意:回退方法应该和调用方法放置在同一类,并且必须具有相同方法签名...可以看到,我们定义回退方法,在请求过量时起作用了。...演示了如何在Spring Boot2项目中引入Resilience4j库,使用代码示例演示了如何在Spring Boot2项目中实现Resilience4j两种Bulkhead(SemaphoreBulkhead

    2K40

    java JNI简介

    编译 JAVA VM支持多线程,native 方法在编译时候需要加上对应参数, gcc加上 -D_REENTRANT或者-D_POSIX_C_SOURCE 加载 代码如下 package pkg...native double f(int i, String s); static { System.loadLibrary(“pkg_Cls”); //名字可以随便定义...如果要静态连接可以使用 JNI函数 RegisterNatives 静态连接需要把所有的library复制到可执行映像;动态连接是把共享library名字放在一个可执行映像,当映像运行时候才去连接...,生成方法是 Java_com_study_jnilearn_HelloWorld_sayHello: 查找规则:VM查找native library里面的方法名,首先查找名字,即方法名没有参数签名...形参参数列表,引用类型以L开头,后面紧跟类全路径名(需将.全部替换成/),以分号结尾 比如:long f(int n,String s,int[] arr); 对应Native方法签名是

    53820

    一个优秀镜像仓库是什么样

    从历史上看,注册管理机构规范完全由Docker定义,最近通过OCI分布规范独立完成。...当然,OpenShift客户还可以继续使用来自ISV合作伙伴第三方注册解决方案,JFrog Artifactory和Sonatype Nexus。 ?...加密CLI密码 洪流分布 容器和应用程序注册 与Quay.io保持一致UI和代码库 镜像扫描: ? 自动构建: 通过集成到GitHub,Bitbucket等,自动构建存储库推送操作上映像。...随着代码(GitHub,Bitbucket,GitLab和Git)推送操作发生,Quay将自动构建新版本应用程序 ?...触发quay代码自动构建: ? 过一会,构建成功: ? 给新镜像分配tag: ? ? 修改应用dc,使用新image,触发应用重新构建: ? ? 重新构建完毕后,页面变成: ?

    2.5K30

    在你浏览器构建和共享开发人员环境

    如何点击一个按钮,并在一个预先配置开发环境找到自己,动动手指就可以让IDE拥有丰富编辑工具和项目资源?如何在本地开发,但在云中编译和运行项目?好,第一件事情是首要。...在Codenvy构建Dockerfile与在本地构建Dockerfile没有区别——都是相同指令,相同规则,相同输出。还有几个特定Codenvy功能,项目源注入到映像。...添加了附加源代码后,你可以执行grails命令,打包应用程序并使用servlet容器部署工件(你可以下载Tomcat或使用我们基本映像中最常用servlet容器安装)。这很简单。...这是构建自定义环境一种方式——即使用Codenvy基础映像并在其上安装东西。如果你想拥有一个你很熟悉环境,这个方法就行得通,因为这是你建立。...否则,你可以直接前往DockerHub,在那里找到一个合适映像(花费一些时间选择最好映像),并将其用作自定义配置基础映像。幸运是,有许多官方映像是轻量级,没有不必要软件和工具。

    4.5K90

    Spring 官宣,抛弃原生 JVM!网友:这是要单干啊!

    实际上,这意味着自 Spring 成立以来,除了 Spring 支持常规 Java 虚拟机之外,我们还将添加 Beta 支持,以使用 GraalVM 将 Spring 应用程序编译到本机映像,从而提供一种部署...Kubernetes 平台 想要创建最佳容器映像来打包您 Spring 应用程序和服务 在使用场景上,比如 Piotr Mińkowski 提供了一个非常棒指南,介绍了如何在 Knative 上使用...提前转换 本机不同于 JVM:类路径在构建时是固定,例如需要反射或资源进行配置,没有类延迟加载(可执行文件附带所有内容在启动时都加载到内存),并且可以调用一些代码在构建时。...要记住一个关键点是,在使用 Spring Native 时,默认情况下在 JVM 上也会使用 AOT 生成代码,以允许您使用 JVM 允许反馈循环来行使“本机友好代码路径”。...我们可能会改进 IDE 集成,现在确保在 IDE 运行应用程序之前,请先阅读相关文档以进行潜在手动配置步骤,以更新生成代码。 结论 Spring 战略要本地化有两个主要支柱。

    1.7K20

    React 面试必知必会 Day 6

    何在 React 对 props 进行验证? 当应用程序运行在开发模式时,React 会自动检查我们在组件上设置所有 props,以确保它们具有正确类型。...由于对性能影响,它在生产模式中被禁用。必需 props 是用 isRequired 定义。 预定义 props 类型集合。...将 React 整合到传统 MVC 框架需要一些额外配置。 代码复杂性随着内联模板和 JSX 增加而增加。 太多小组件导致了过度工程化或模板化。 4....return { hasError: true }; } render() { if (this.state.hasError) { // 你可以渲染任何自定义回退用户界面...对于大型代码库,建议使用静态类型检查器, Flow 或 TypeScript,在编译时进行类型检查并提供自动补全功能。 7. react-dom 包有什么用?

    5K30

    Spring 官宣,干掉原生 JVM!

    实际上,这意味着自 Spring 成立以来,除了 Spring 支持常规 Java 虚拟机之外,我们还将添加 Beta 支持,以使用 GraalVM 将 Spring 应用程序编译到本机映像,从而提供一种部署...等 Kubernetes 平台 想要创建最佳容器映像来打包您 Spring 应用程序和服务 在使用场景上,比如 Piotr Mińkowski 提供了一个非常棒指南,介绍了如何在 Knative...提前转换 本机不同于 JVM:类路径在构建时是固定,例如需要反射或资源进行配置,没有类延迟加载(可执行文件附带所有内容在启动时都加载到内存),并且可以调用一些代码在构建时。...要记住一个关键点是,在使用 Spring Native 时,默认情况下在 JVM 上也会使用 AOT 生成代码,以允许您使用 JVM 允许反馈循环来行使“本机友好代码路径”。...我们可能会改进 IDE 集成,现在确保在 IDE 运行应用程序之前,请先阅读相关文档以进行潜在手动配置步骤,以更新生成代码。 5. 结论 Spring 战略要本地化有两个主要支柱。

    1.2K40

    Spring新版本抛弃JVM,可独立部署,网友:要自立门户???

    ,该映像仅随附 JDK,Spring 以及您在应用程序中使用依赖项必需位。...等 Kubernetes 平台 想要创建最佳容器映像来打包您 Spring 应用程序和服务 在使用场景上,比如 Piotr Mińkowski 提供了一个非常棒指南,介绍了如何在 Knative...提前转换 本机不同于 JVM:类路径在构建时是固定,例如需要反射或资源进行配置,没有类延迟加载(可执行文件附带所有内容在启动时都加载到内存),并且可以调用一些代码在构建时。...要记住一个关键点是,在使用 Spring Native 时,默认情况下在 JVM 上也会使用 AOT 生成代码,以允许您使用 JVM 允许反馈循环来行使“本机友好代码路径”。...我们可能会改进 IDE 集成,现在确保在 IDE 运行应用程序之前,请先阅读相关文档以进行潜在手动配置步骤,以更新生成代码。 5. 结论 Spring 战略要本地化有两个主要支柱。

    85330

    何在Ubuntu 18.04和Ubuntu 18.10,16.04上安装Systemback

    本教程将向您展示如何在Ubuntu 18.04和Ubuntu 18.10上安装Systemback。 Systemback是一个简单系统备份和恢复应用程序,根据GPLv3许可条款发布。...2016年停止了它开发,所以Ubuntu 18.04和18.10不在支持列表。...您所见,您可以创建系统还原点,还原到某个点,将系统复制到另一个分区,将系统安装到新分区,创建实时系统(可引导ISO映像),修复系统和升级软件 系统。...如何从当前系统创建可启动ISO映像 Systemback可以从您当前系统创建自定义ISO映像文件。 每个程序和文件都可以包含在ISO。...因为我系统有很多程序和文件,所以这个过程可能需要一些时间。 完成后,您可以使用可启动USB在其他计算机上安装自定义Ubuntu系统。

    1.4K20

    「无服务器架构」动手操作Knative -第1部分

    Knative Eventing用于松散耦合、事件驱动服务Knative事件处理。 Knative Build,用于注册表无痛苦代码到容器工作流。 让我们从本地服务开始。...Hello World服务(Serving) 要将你代码部署为Knative服务,你需要: 将代码装入容器并将映像推入公共注册中心。...在我Knative教程Hello World服务部分,我详细描述了这些步骤,但是在这里重述一下,这是一个最小Knative服务定义service-v1方式service-v1.yaml样子:...它还创建了一个新路线,新修订将开始接收流量。 ? 在我Knative教程更改配置一节,您可以看到更改Knative服务环境变量或容器映像如何触发新修订创建。...我Knative教程流量分割部分有更多例子,比如如何在现有的版本之间分割流量。 与其他服务集成 Knative服务可以很好地与其他服务集成。

    1.7K10

    Git工作流程:如何在团队协作?

    - 安装Git:运行下载Git安装程序,并按照提示完成安装过程。可以选择默认选项或自定义设置。...分支合并到当前分支 3.分支管理示例代码 下面的代码展示了如何在Git创建、切换、删除分支,并将分支合并到主干版本: # 创建一个新开发分支 $ git checkout -b develop...在Git,我们可以使用各种命令追溯Git仓库历史记录,并回退到早期版本。下面是一些相关概念和代码详解。...4.追溯历史记录示例代码 下面的代码展示了如何在Git查看历史记录并回退到早期版本: # 查看所有提交记录 $ git log # 查看file.py文件提交历史记录 $ git log file.py...轻量级标签只是一个指向某个提交引用,而附注标签则包含了更多信息,标签名称、创建者、创建时间、备注等。

    15310

    Android Studio Arctic Fox (2020.3.1) Beta 版发布

    无论您应用是完全用 Compose 编写布局,还是混合使用了 Compose 和 View,Layout Inspector 都能帮助您了解布局如何在设备或模拟器上呈现,获得丰富细节 (传递给每个...△ 注意预览和编辑器 gutter 条部署到设备按钮 字元实时编辑 - 字元实时编辑功能让使用 Compose 开发者可以快速编辑代码字元 (字符串、数字、布尔运算),并立即看到结果,无需等待编译...该功能通过让代码变化在预览、模拟器或实体设备近乎即时地体现,从而提高您生产力。...仅举几例: 针对启动屏幕定义声明、精细位置使用近似位置权限、媒体格式,以及传感器高采样率权限。...这些扩展控件将为开发者提供强大工具来在 Android studio 测试应用,导航回放、虚拟传感器和快照。

    40220
    领券