আমি শেষ পর্যন্ত !! এই জিনিসটি আমি পেয়েছিলাম প্রায় 12 বার তৈরির জন্য এবং 12 টি বিভিন্ন উপায়ে চেষ্টা করেছি, তবে অবশেষে এটি কার্যকর হয়ে গেছে, ... সাজানো।
পোস্টগুলিতে ছবি আপলোড এবং সংযুক্ত করার জন্য আমি একটি কাস্টম মেটাবক্স তৈরি করেছি এবং এটির জন্য আপনার ডাব্লুপি-র মধ্যে নির্মিত ভয়াবহ পুরুবাক্স মিডিয়া আপলোডার ব্যবহার করার দরকার নেই। আমি সেই জিনিসটিকে ঘৃণা করি। না, আমি যা করেছি তা হ'ল ইনপুটগুলির একটি গোষ্ঠী (শিরোনাম, বিবরণ, ফাইল), যা আপনি চাইলে অতিরিক্ত সংযুক্তি যুক্ত করতে ডুপ্লিকেটও করতে পারেন। সুতরাং আপনি ক্ষেত্রগুলি পূরণ করুন, আপলোড করতে একটি চিত্র নির্বাচন করুন এবং খসড়া সংরক্ষণ করুন বা পোস্ট প্রকাশ করুন। কোনও পোস্টে সংযুক্তিগুলি যুক্ত হয়ে গেলে, মেটাবক্স আপনার সংযুক্ত প্রতিটি সংযুক্তির জন্য সংযুক্ত চিত্রটির পূর্বরূপ চিত্র সহ ইনপুট ক্ষেত্রগুলি প্রদর্শন করবে। শিরোনাম এবং বিবরণ ক্ষেত্রগুলি ফাইল মেটা ডেটা উত্পন্ন করতে ব্যবহৃত হয়, পোস্ট_মেটা হিসাবে কিছুই সংরক্ষণ হয় না, যা আমি জানি। আমি এখন অবধি কাজ করে যাচ্ছি তা এটাই।
আমার এটি তৈরি করা দরকার যাতে আপনি যখন কোনও পোস্ট সংরক্ষণ / প্রকাশ করেন, সংযুক্তি ফাইলগুলি আপলোড / তৈরি করেন, তখন এটি তিনটি চিত্রের আকারকে ডিফল্ট ডাব্লুপি আপলোডার হিসাবে তৈরি করবে, থাম্বনেইল, মাঝারি, বড় এবং পূর্ণ আকারের চিত্রও রাখবে । যদি কোনওভাবে সম্ভব হয়। যদি তা না হয় তবে আমি অন্যথায় add_image_size()
নতুন কাস্টম মাপ তৈরি / সংজ্ঞায়িত করতে এবং আপলোড করার পরিবর্তে সেগুলি সেভাবে উত্পন্ন করতে চাই।
আমি নিশ্চিত না এই ক্ষেত্রে কোন image_make_intermediate_size()
ফাংশনটি ব্যবহার করা সবচেয়ে আদর্শ, সম্ভবত ফাংশনটি আরও ভাল হবে, wp_create_thumbnail()
বা wp_crop_image()
... বা কে জানে !!
আমি কীভাবে এটি করা যায় তা অনুমান করতে পারি না, যদি wp_handle_upload()
প্রত্যেকের জন্য আমার যদি ফাংশনটি চালানোর প্রয়োজন হয় , বা wp_generate_attachment_metadata()
ফাংশন জড়িত কিছু হতে পারে । এটি আমার কাছে বিভ্রান্তিকর কারণ 3 টি চিত্রের আকারগুলি একই সংযুক্তির রূপ হিসাবে যুক্ত হতে পারে এবং কীভাবে এটি করা যায় to
আমি ওয়েবে স্কোর করেছি, প্রতিটি ডাব্লুপি মিডিয়া / আপলোড / চিত্র সম্পর্কিত ফাইলের উত্স পড়েছি এবং মিডিয়া আপলোড স্টাফগুলির জন্য রয়েছে এমন প্রায় প্রতিটি কার্যক্রমে খেলেছি এবং ডব্লুপি কোথাও 3 টি চিত্রের আকার তৈরি করে, বা কীভাবে করতে পারে তা খুঁজে পাচ্ছি না এটা আমার।
ডাব্লুপি-অন্তর্ভুক্ত / মিডিয়া.এফপি-তে image_resize()
ফাংশনটি দেখে মনে হচ্ছে এটি সবচেয়ে ভাল হবে কারণ এটি ঠিক কী হওয়া উচিত। আমি যে নরক মিস করছি বা কী করার চেষ্টা করেছি কিন্তু চিত্রটির থাম্বনেইলগুলি তৈরি করতে ভুল করেছি তা আমার জীবনের জন্য আমি ঠিক বুঝতে পারি না।
এখানে আমার কার্যকারী ফাংশন যা wp_handle_upload()
স্টাফ এবং জিনিসগুলি করে, তবে এটির জন্যও 100px থাম্ব তৈরি করতে হবে এবং চিত্রটির একটি আকার পরিবর্তন করুন যা সর্বোচ্চ 500 প্রস্থের মতো প্রস্থ এবং আপলোড করা ফাইলের নতুন ফাইল হিসাবে সংরক্ষণ করা উচিত।
function update_attachment(){
global $post;
wp_update_attachment_metadata( $post->ID, $_POST['a_image'] );
if( !empty( $_FILES['a_image']['name'] )) { //New upload
require_once( ABSPATH . 'wp-admin/includes/file.php' );
$override['action'] = 'editpost';
$url = wp_handle_upload( $_FILES['a_image'], $override );
// $medium = image_make_intermediate_size( $uploaded_file['url'], 500, 400, true );
// $thumb = = image_make_intermediate_size( $uploaded_file['url'], 100, 100, true );
if ( isset( $file['error'] )) {
return new WP_Error( 'upload_error', $file['error'] );
}
$array_type = wp_check_filetype
$allowed_file_types = array('image/jpg','image/jpeg','image/gif','image/png');
$name_parts = pathinfo( $name );
$name = trim( substr( $name, 0, - ( 1 + strlen( $name_parts['extension'] )) ));
$type = $file['type'];
$file = $file['file'];
$title = $_POST['a_title'] ? $_POST['a_title'] : $name;
$content = $_POST['a_desc']
$post_id = $post->ID;
$attachment = array(
'post_title' => $title,
'post_type' => 'attachment',
'post_content' => $content,
'post_parent' => $post_id,
'post_mime_type' => $type,
'guid' => $url['url']
);
// Save the data
$id = wp_insert_attachment( $attachment, $_FILES['a_image'][ 'file' ]/*, $post_id - for post_thumbnails*/);
if ( !is_wp_error( $id )) {
$attach_meta = wp_generate_attachment_metadata( $id, $uploaded_file['url'] );
wp_update_attachment_metadata( $attach_id, $attach_meta );
}
update_post_meta( $post->ID, 'a_image', $uploaded_file['url'] );
}
}
যে কেউ আমাকে শেষ পর্যন্ত এটি ঠিক করতে সহায়তা করতে সক্ষম যাতে এটি সঠিকভাবে কাজ করে তা পছন্দ হবে। আমি এই বিষয়টিকে বিকাশ করার চেষ্টা করার জন্য অনেকগুলি হাস্যকর অগণিত ঘন্টা বিভিন্ন সময় ব্যয় করেছি এবং ডকুমেন্টেশন সাফল্য পেয়েছে এবং কীভাবে এটি করা যায় সে সম্পর্কে সত্যিকারের কোনও ভাল পোস্ট নেই।
ধন্যবাদ