2017-12-12 26 views
7

मैं कस्टम वर्डप्रेस प्लगइन के भीतर क्लाउडकॉन्टर एपीआई का उपयोग करने की कोशिश कर रहा हूं। मैं जो करना चाहता हूं वह क्लाउड कन्वर्ट एपीआई सामान को सक्रियण पर केवल एक बार शुरू करना है, और फिर फ़ाइल रूपांतरणों के लिए आवश्यकतानुसार इसे कई बार उपयोग करने में सक्षम होना चाहिए। विशेष रूप से, मैं एक हुक का उपयोग कर WooCommerce उत्पाद पृष्ठ पर एक फ़ाइल रूपांतरण फ़ॉर्म रखना चाहता हूं।वर्डप्रेस में क्लाउडकॉन्टर एपीआई का उपयोग

यहाँ मेरी कस्टम प्लगइन कोड है:

require __DIR__ . '/vendor/autoload.php'; 
use \CloudConvert\Api; 

function add_file_conversion() 
{ 
    $api = new Api("---"); 

    $psd_process = $api->createProcess([ 
     "inputformat" => "psd", 
     "outputformat" => "png", 
    ]); 

    $psd_process->start([ 
     "input" => "upload", 
     "outputformat" => "png", 
     "download" => true 
    ]); 
    ?> 
    <form id="files-convert-form" action="<?php echo $psd_process->upload->url; ?>"> 
     <label>If you have a PSD or PDF file, please convert it </label> 
     <input type="file" name="myfile" id="files-convert" autocomplete="off"/> 
     <button type="button" class="btn btn-primary" id="action-convert">Convert</button> 
    </form> 
    <?php 
} 
add_action('woocommerce_single_product_summary', 'add_file_conversion', 25); 

पीएचपी आवरण https://github.com/cloudconvert/cloudconvert-php में जाने का रास्ता लग रहा था, इसलिए मैं PHAR उपयोग करने की कोशिश के रूप में वे दोनों एक पैकेज और विसंकुलित के रूप में सलाह देते हैं (जैसा कि कोड वर्तमान में पता चलता)। मुझे PHAR का उपयोग करके अधिक अनुभव नहीं है, इसलिए मुझे यह पता लगाने में थोड़ी देर लग गई कि इसे खोजने के लिए इसे/wp-admin में जाना होगा - मेरे पास इसे देखने के लिए पथ शामिल करने की कोई किस्मत नहीं है मेरी प्लगइन निर्देशिका में।

वैसे भी, दोनों पैक किए गए PHAR और अनपॅक किए गए autoload.php फ़ाइलों को ठीक से प्रतीत होता है कि प्लगइन सक्रियण पर कोई त्रुटि नहीं फेंकता है। इसके बजाय, जब add_file_conversion() विधि से चलाया जाता है, मैं इस त्रुटि मिलती है:

[12-Dec-2017 11:17:58 UTC] PHP Fatal error: Class 'CloudConvert\Api' not found in /.../wp-content/plugins/cloudconvert-puzzlepic/cloudconvert-puzzlepic.php on line 19 

जहां लाइन से 19 कॉल 'नए एपीआई ("---")'

मैं भी $ बनाने की कोशिश की है एपीआई ग्लोबल और इसके उपयोग को सीधे 'उपयोग' कथन के तहत ले जाना, लेकिन फिर इसे add_file_conversion() फ़ंक्शन में कॉल करना एक त्रुटि फेंकता है क्योंकि $ api शून्य है।

मुझे लगता है कि यह इतना आसान होना चाहिए लेकिन इसे अभी तक काम करने का कोई तरीका नहीं मिला है। क्या कोई मदद कर सकता है?

+0

यदि आप '$ api = new api (" --- ") स्थानांतरित करते हैं, तो 'उपयोग \ क्लाउड कन्वर्ट \ एपीआई' के नीचे फ़ंक्शन से भाग लें, 'क्या यह ठीक से काम कर रहा है? –

+0

यह सुनिश्चित नहीं है कि आप क्लाउडकॉन्टर एपीआई को एक बार कैसे शुरू कर रहे हैं। यदि उस के लिए अतिरिक्त तर्क है, तो कृपया उस कोड को भी पोस्ट करें। –

उत्तर

5

बस मेरे अंत में परीक्षण किया गया, और यह ठीक काम कर रहा है। ऐसा लगता है कि इंस्टॉलेशन के साथ कुछ गलत हो गया है।

  1. प्लग में रूट निर्देशिका में निम्नलिखित सामग्री के साथ composer.json फ़ाइल बनाने:

    { 
        "name": "Example Application", 
        "description": "This is an example", 
        "require": { 
         "cloudconvert/cloudconvert-php": "2.2.*" 
        } 
    } 
    
  2. रन ही निर्देशिका पर composer install आदेश (में ये कदम उठाएँ हो यह काम करने के लिए पालन करने के लिए कर रहे हैं यदि आपने संगीतकार स्थापित नहीं किया है, तो आप here से डाउनलोड और इंस्टॉल कर सकते हैं)। यह vendor निर्देशिका में निर्भरता के साथ क्लाउडकॉन्टर स्थापित करेगा, और vendor/autoload.php बनाएगा जिसमें आप अपनी परियोजना में शामिल होंगे।

  3. अपनी प्लग-इन से autoload.php आवश्यकता होती है:

    require __DIR__ . '/vendor/autoload.php'; 
    use \CloudConvert\Api; 
    $api = new Api("your_api_key"); 
    var_dump($api); exit; 
    

आप एक कक्षा में cloudconvert का उपयोग कार्यक्षमता लपेट कर सकते हैं, संलग्न हुक, और उस फ़ाइल को शामिल जब भी आप के साथ काम करने की जरूरत है ।

+0

उत्तर के लिए बहुत बहुत धन्यवाद, चलने वाले संगीतकार ने जो भी स्थापना समस्याएं ठीक की थीं ठीक कर दी थीं। मुझे अभी भी इसे जिस तरह से चाहिए, उसे चलाने की आवश्यकता है, लेकिन कम से कम मैं वास्तव में पिछली शुरुआत कर सकता हूं। धन्यवाद! –

संबंधित मुद्दे