优化版WordPress 特色图框里可以上传或输入外部 URL,一体化管理

<?php
// ===========================
// 特色图一体化支持本地+外部 URL
// ===========================

// 添加外部特色图输入框到“特色图”元框下方
function add_external_featured_image_meta_box() {
    add_meta_box(
        'external_featured_image',
        __('外部特色图 URL', 'textdomain'),
        'render_external_featured_image_meta_box',
        ['post', 'page'], // 可改为自定义文章类型
        'side',
        'low'
    );
}
add_action('add_meta_boxes', 'add_external_featured_image_meta_box');

function render_external_featured_image_meta_box($post) {
    wp_nonce_field('save_external_featured_image', 'external_featured_image_nonce');
    $value = get_post_meta($post->ID, '_external_featured_image', true);
    echo '<input type="url" style="width:100%;" name="external_featured_image" value="' . esc_attr($value) . '" placeholder="https://example.com/image.jpg">';
    echo '<p style="font-size:12px;color:#666;">如果同时上传本地特色图,将优先显示外部 URL。</p>';
}

// 保存外部特色图 URL
function save_external_featured_image_meta_box($post_id) {
    if (!isset($_POST['external_featured_image_nonce']) || !wp_verify_nonce($_POST['external_featured_image_nonce'], 'save_external_featured_image')) {
        return;
    }
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;

    if (isset($_POST['external_featured_image'])) {
        $url = esc_url_raw($_POST['external_featured_image']);
        update_post_meta($post_id, '_external_featured_image', $url);
    }
}
add_action('save_post', 'save_external_featured_image_meta_box');

// 前端获取特色图(优先外部 URL)
function get_featured_image_or_external($post_id = null, $size = 'post-thumbnail', $attr = []) {
    if (!$post_id) $post_id = get_the_ID();

    $external_url = get_post_meta($post_id, '_external_featured_image', true);
    if ($external_url) {
        $class = isset($attr['class']) ? esc_attr($attr['class']) : 'wp-post-image';
        $alt = get_the_title($post_id);
        return '<img src="' . esc_url($external_url) . '" alt="' . esc_attr($alt) . '" class="' . $class . '">';
    }

    if (has_post_thumbnail($post_id)) {
        return get_the_post_thumbnail($post_id, $size, $attr);
    }

    return ''; // 没有特色图
}

// 可选:在后台“特色图”框中显示外部 URL缩略图
function show_external_featured_image_preview($content, $post_id) {
    $url = get_post_meta($post_id, '_external_featured_image', true);
    if ($url && !has_post_thumbnail($post_id)) {
        $content = '<img src="' . esc_url($url) . '" style="max-width:100%;display:block;margin-bottom:5px;">' . $content;
    }
    return $content;
}
add_filter('admin_post_thumbnail_html', 'show_external_featured_image_preview', 10, 2);

✅ 功能说明:

  1. 文章/页面编辑页右侧“特色图”下方出现输入框,可填站外图片 URL。

  2. 如果同时上传本地特色图,外部 URL 会优先显示。

  3. 前端模板中调用:

echo get_featured_image_or_external();

即可自动输出外部图或本地特色图。
4. 后台特色图框如果没有上传本地图,会显示外部图缩略图。

WordPress 技术支持团队
WordPress 技术支持团队

💻 一位真诚且细致入微的年轻开发者🎓,专注于外贸网站定制开发领域。
🌟 专业承接 WordPress 建站设计定制与全方位开发服务。我们的独特优势在于,不仅精通网站开发技术,更将国际化主流美术设计元素🎨巧妙融合,同时制定精准有效的品牌营销策略📈。
💡 服务涵盖:
🔍WordPress 主题开发,打造独一无二的网站视觉风格与用户体验。
💻WordPress 网站定制,根据您的外贸业务需求,量身定制专属网站。
无论是网站架构搭建,还是界面美学设计,亦或是品牌推广策略,我们都能为您提供一站式的优质解决方案,助力您的外贸事业在互联网上脱颖而出,迈向全球市场🚀。

文章: 49

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注

提交您的请求

报价收集表

💥网站建设 | 实力说话,不搞虚的!

宝子们,咱就说,好多甲方都不乐意自己的网站被同行抄作业,这就跟你开个店,肯定不想让别人知道你的进货渠道是一个道理,对不?所以呢,为了给客户满满的安全感,咱网站上就没放任何客户案例作品的链接哈,这可是咱对客户隐私的保护。

📌但要是有真心想做网站的老板,或者宝子你只是想看看我们的案例,那就赶紧加我们网站的联系方式,咱麻溜地给你发几个瞅瞅,主打一个真诚!

要是你还没拿定主意要做啥风格的网站,也简单,你就找几个同行的网站发给我们,照着做就完事儿。咱选仿站可不代表没本事哈,只是咱实在受不了那种瞎扯犊子的无效沟通和繁琐到让人抓狂的流程。有些甲方做个企业展示型网站,非得找几十家供应商来卷,说实话,没真技术的公司才会在那跪舔甲方。咱不一样,咱就想踏踏实实地给客户做出性价比超高、让客户满意得直拍大腿的网站。那些跪舔的活儿,就让那些只会耍嘴皮子、没啥技术的公司去干吧,咱不伺候! #网站建设

#甲方乙方 #拒绝内卷

联系WordPress技术团队

我们期待您的来信。

提交您的请求

报价收集表