久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

以編程方式將可下載文件添加到 Woocommerce 產品

Add programmatically a downloadable file to Woocommerce products(以編程方式將可下載文件添加到 Woocommerce 產品)
本文介紹了以編程方式將可下載文件添加到 Woocommerce 產品的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

限時送ChatGPT賬號..

在我的解決方案中,我希望盡可能自動化產品創建.在我看來,一種節省時間的方法是將可下載文件自動添加到產品中.

In my solution I want to automate the product creation as much as possible. One time saver is, in my opinion, to auto add the downloadable file to the product.

我創建了這個函數:

function fcsp_add_downloadable_file($post_id, $post, $update){
  $post_thumbnail_id = get_post_thumbnail_id( $post_id );
  $url = get_site_url()."/wp-content/uploads/".get_the_date('Y')."/".get_the_date('m')."/".$filename_only = basename( get_attached_file( $post_thumbnail_id ) );

  update_post_meta($post_id, '_downloadable_files' , $url);
}
add_action( 'save_post', 'fcsp_add_downloadable_file', 99, 3 );

當我更新產品時,我可以看到文件路徑已保存到 _downloadable_files 元鍵.然而,它只是純文本,而不是 woocommerce 存儲它的方式.查看屏幕截圖(這是使用 Woo Add Product 界面創建的另一個產品:

I can see when I update the product that the file path is saved to the _downloadable_files meta key. However it is just plain text and not in the way woocommerce stores it. See screenshot (this is from another product created with the Woo Add Product interface:

它也未被 woocommerca 識別為可下載文件.非常感謝您對解決此問題的任何幫助.

It is also not recognized by woocommerca as a downloadable file. Any help on fixing this is much appreciated.

第二部分

這是要設置的產品標題:

This is the product title to be set:

我們必須從圖像的 EXIF 元標記標題"中獲取它,并且必須在保存產品之前或保存產品時將其設置為產品名稱.($filemeta['image_meta']['title'];)

We have to get it from the EXIF meta tag "title" from the image and has te be set as the product name before or while saving the product. ($filemeta['image_meta']['title'];)

推薦答案

Update 2 (添加了 if 語句以允許下載生成僅到一個文件)

以下代碼將自動添加由產品圖片制作的可下載文件(下載標題來自 EXIF 數據標題).

The following code will auto add a downloadable file made from the product image (The download title comes from the EXIF data title).

您最好使用專用的 woocommerce_admin_process_product_object 動作掛鉤和可用的 CRUD 對象和 getter/setter 方法 woocommerce 3 以這種方式引入:

You should better use dedicated woocommerce_admin_process_product_object action hook and available CRUD objects and getters / setters methods introduced with woocommerce 3 this way:

add_action( 'woocommerce_admin_process_product_object', 'auto_add_downloadable_file', 50, 1 );
function auto_add_downloadable_file( $product ){
    // Get downloads (if there is any)
    $downloads = (array) $product->get_downloads(); 

    // Only added once (avoiding repetitions
    if( sizeof($downloads) == 0 ){
        // Get post thumbnail data
        $thumb_id = get_post_thumbnail_id( $product->get_id() );
        $src_img  = wp_get_attachment_image_src( $thumb_id, 'full');
        $img_meta = wp_get_attachment_metadata( $thumb_id, false );

        // Prepare download data
        $file_title = $img_meta['image_meta']['title'];
        $file_url   = reset($src_img);
        $file_md5   = md5($file_url);

        $download  = new WC_Product_Download(); // Get an instance of the WC_Product_Download Object

        // Set the download data
        $download->set_name($file_title);
        $download->set_id($file_md5);
        $download->set_file($file_url);


        $downloads[$md5_num] = $download; // Insert the new download to the array of downloads

        $product->set_downloads($downloads); // Set new array of downloads
    }
}

代碼位于活動子主題(或活動主題)的 function.php 文件中.經測試有效.

Code goes in function.php file of your active child theme (or active theme). Tested and works.

您還可以使用 is_downloadable 檢查產品是否可下載() 方法在函數內部啟動時的 IF 語句中.

You could also check if product is downloadable using is_downloadable() method in an IF statement on start inside the function.

這篇關于以編程方式將可下載文件添加到 Woocommerce 產品的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Get today#39;s total orders count for each product in Woocommerce(獲取今天 Woocommerce 中每種產品的總訂單數)
Add Custom registration fields in WooCommerce and phone field validation issue(在 WooCommerce 和電話字段驗證問題中添加自定義注冊字段)
Add a select field that will change price in Woocommerce simple products(在 Woocommerce 簡單產品中添加一個將更改價格的選擇字段)
Add custom columns to admin products list in WooCommerce 3(在 WooCommerce 3 中將自定義列添加到管理產品列表)
Customizing checkout quot;Place Orderquot; button output html(自定義結帳“下訂單按鈕輸出html)
Add birthday field to WooCommerce my account and admin user page(將生日字段添加到 WooCommerce 我的帳戶和管理員用戶頁面)
主站蜘蛛池模板: 一区二区三区四区免费视频 | 99久久精品视频免费 | 午夜综合| 91视频在线看 | 天天操夜夜艹 | 超碰在线播 | 久久小视频 | 综合久久久久 | 亚洲国产欧美91 | 国产视频一区二区 | 精品久久久久久亚洲综合网站 | 成人国产精品久久 | 日韩欧美在线观看视频 | 亚洲伦理自拍 | 天堂av免费观看 | 精品久久久网站 | 免费毛片网站在线观看 | 亚洲精品自在在线观看 | 中文字幕免费观看 | 91在线精品视频 | 日本不卡在线观看 | 精品欧美一区二区三区久久久 | 日韩免费网 | 国产一区二区视频在线观看 | 久久伊人在 | 日韩h| 国产一区二区在线观看视频 | 欧美精品一区三区 | 国产目拍亚洲精品99久久精品 | 日本涩涩网 | 国产精品免费一区二区三区四区 | 欧美一区中文字幕 | 伊人网国产| av在线一区二区三区 | 精产国产伦理一二三区 | 欧美日韩在线一区二区 | 免费午夜视频在线观看 | 一区二区成人在线 | 在线一区视频 | www.se91| 欧美一区二区三区在线观看 |