You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让WordPress Divi搜索模块支持YouTube视频链接搜索?

解决Divi搜索模块支持YouTube视频链接搜索的方案

方法一:扩展现有Divi搜索模块的搜索范围

Divi的搜索模块默认只覆盖文章和页面,但可以通过修改主题的functions.php文件(建议用子主题操作,避免主题更新丢失代码),让搜索查询包含你存储YouTube视频的内容(比如自定义文章类型、自定义字段)。

示例代码:

function divi_extend_search_query( $query ) {
    // 仅处理前端的Divi搜索请求
    if ( ! is_admin() && $query->is_search && isset( $_GET['et_pb_search'] ) ) {
        // 加入存储视频的自定义文章类型(假设类型名为'youtube_video')
        $query->set( 'post_type', array( 'post', 'page', 'youtube_video' ) );
        
        // 若用自定义字段存视频标题/链接/描述,添加字段搜索逻辑
        $query->set( 'meta_query', array(
            array(
                'key' => 'youtube_video_info', // 替换为你的自定义字段名
                'value' => $query->query_vars['s'],
                'compare' => 'LIKE'
            )
        ) );
    }
    return $query;
}
add_filter( 'pre_get_posts', 'divi_extend_search_query' );

注意:要根据你实际存储视频的方式,调整post_type和meta_query的具体参数。

方法二:自定义独立搜索模块

如果不想改动原有模块,直接在Divi中添加「代码模块」,自己构建搜索表单和处理逻辑:

  1. 插入代码模块,添加搜索表单:
<form role="search" method="get" id="youtube-search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>">
    <input type="text" name="yt_search" placeholder="搜索YouTube视频..." value="<?php echo isset($_GET['yt_search']) ? sanitize_text_field($_GET['yt_search']) : ''; ?>" />
    <button type="submit">搜索</button>
</form>
  1. 在functions.php中添加搜索处理逻辑:
function custom_youtube_search( $query ) {
    if ( ! is_admin() && isset( $_GET['yt_search'] ) && ! empty( $_GET['yt_search'] ) ) {
        $search_term = sanitize_text_field( $_GET['yt_search'] );
        // 指定搜索存储视频的自定义文章类型
        $query->set( 'post_type', 'youtube_video' );
        // 同时搜索标题、内容和自定义字段
        $query->set( 's', $search_term );
        $query->set( 'meta_query', array(
            'relation' => 'OR',
            array(
                'key' => 'youtube_title',
                'value' => $search_term,
                'compare' => 'LIKE'
            ),
            array(
                'key' => 'youtube_description',
                'value' => $search_term,
                'compare' => 'LIKE'
            )
        ) );
    }
    return $query;
}
add_filter( 'pre_get_posts', 'custom_youtube_search' );
  1. 用Divi自定义搜索结果模板,展示匹配的视频链接和相关信息。

方法三:用Divi自定义模块构建器创建专属搜索模块

如果你熟悉Divi的模块开发,可以用Divi的自定义模块构建功能(需Divi Builder高级权限),封装一个专门的YouTube搜索模块:

  • 在模块中添加符合Divi风格的搜索表单UI
  • 编写PHP逻辑处理搜索请求,查询匹配的视频内容
  • 用Divi的渲染机制输出搜索结果,完全适配可视化编辑流程

内容的提问来源于stack exchange,提问作者Kaira Wadhwa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 13:12:30