কাস্টম সিএসভি আমদানি নিয়ে আমারও একই রকম সমস্যা হয়েছিল, তবে আমি বাল্ক সন্নিবেশের জন্য কিছু কাস্টম এসকিউএল ব্যবহার করে শেষ করেছি। তবে ততক্ষণে আমি এই উত্তরটি দেখিনি:
পোষ্ট সন্নিবেশ এবং বাল্ক অপারেশনের জন্য মুছুন?
wp_defer_term_counting()
মেয়াদ গণনা সক্ষম বা অক্ষম করতে ব্যবহার করতে।
এছাড়াও আপনি যদি ওয়ার্ডপ্রেস আমদানিকারক প্লাগইনটির উত্সটি পরীক্ষা করে দেখেন তবে বাল্ক আমদানির ঠিক আগে এই ফাংশনগুলি দেখতে পাবেন:
wp_defer_term_counting( true );
wp_defer_comment_counting( true );
এবং তারপরে বাল্ক সন্নিবেশের পরে:
wp_defer_term_counting( false );
wp_defer_comment_counting( false );
তাই এটি চেষ্টা করার কিছু হতে পারে ;-)
প্রকাশের পরিবর্তে খসড়া হিসাবে পোস্টগুলি আমদানি করা বিষয়গুলিকেও গতি বাড়িয়ে তুলবে, কারণ প্রত্যেকের জন্য একটি অনন্য স্লাগ সন্ধান করার ধীর প্রক্রিয়াটি এড়ানো যায়। একটি উদাহরণস্বরূপ এগুলি ছোট পদক্ষেপে পরে প্রকাশ করতে পারে তবে নোট করুন যে এই ধরণের পদ্ধতির কোনওভাবে আমদানি করা পোস্টগুলি চিহ্নিত করা দরকার, তাই আমরা কেবল পরে কোনও খসড়া প্রকাশ করি না! এর জন্য প্রয়োজন যত্ন সহকারে পরিকল্পনা এবং সম্ভবত কিছু কাস্টম কোডিং।
যদি এখানে post_name
আমদানি করার মতো অনেকগুলি অনুরূপ পোস্ট শিরোনাম (একই ) থাকে তবে wp_unique_post_slug()
একটি উপলভ্য স্লাগ সন্ধান করতে লুপ ক্যোয়ারী পুনরাবৃত্তির কারণে ধীর হয়ে যেতে পারে। এটি সম্ভবত বিপুল সংখ্যক ডিবি ক্যোরি তৈরি করতে পারে।
ওয়ার্ডপ্রেস 5.1 যেহেতু pre_wp_unique_post_slug
স্লাগের জন্য লুপ পুনরাবৃত্তি এড়াতে ফিল্টার উপলব্ধ। মূল টিকিট দেখুন # 21112 । এখানে একটি উদাহরণ:
add_filter( 'pre_wp_unique_post_slug',
function( $override_slug, $slug, $post_id, $post_status, $post_type, $post_parent ) {
// Set a unique slug value to shortcircuit the slug iteration loop.
// $override_slug = ...
return $override_slug;
}, 10, 6
);
এক চেষ্টা যেমন যদি $override_slug = _truncate_post_slug( $slug, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix"
সঙ্গে $suffix
হিসাবে $post_id
, তাহলে আমরা মনে রাখবেন যে $post_id
সর্বদা 0
আশানুরূপ নতুন পোস্ট এর জন্য। সেখানে যদিও বিভিন্ন উপায়ে, পিএইচপি অনন্য সংখ্যার জেনারেট করতে মতো uniqid( '', true )
। তবে আপনার অনন্য স্লাগ রয়েছে তা নিশ্চিত করতে এই ফিল্টারটি যত্ন সহকারে ব্যবহার করুন। আমরা উদাহরণস্বরূপ post_name
নিশ্চিত হতে পরবর্তী সময়ে একটি গোষ্ঠী গণনা ক্যোয়ারী চালাতে পারি।
আর একটি বিকল্প হ'ল সময়সীমা এড়াতে ডব্লুপি-সিএলআই ব্যবহার করা । উদাহরণস্বরূপ, .csv ফাইল ব্যবহার করে 20,000 পোস্ট বা পৃষ্ঠাগুলি তৈরি করার জন্য পোস্ট করা আমার উত্তরটি দেখুন ?
তারপরে আমরা আমাদের কাস্টম পিএইচপি আমদানি স্ক্রিপ্টটি import.php
WP-CLI কমান্ড দিয়ে চালাতে পারি :
wp eval-file import.php
বর্তমান ডাব্লুপি-অ্যাডমিন ইউআই এটি ভালভাবে পরিচালনা করে না বলে বড় আকারের শ্রেণিবিন্যাসের পোস্ট আমদানি এড়াও। যেমন কাস্টম পোস্টের ধরণ - পোস্টের তালিকা - মৃত্যুর সাদা পর্দা দেখুন
এখানে @otto থেকে দুর্দান্ত টিপস:
বাল্ক প্রবেশের আগে , autocommit
মোডটি স্পষ্টভাবে অক্ষম করুন :
$wpdb->query( 'SET autocommit = 0;' );
বাল্ক সন্নিবেশের পরে, চালান:
$wpdb->query( 'COMMIT;' );
আমি আরও মনে করি যে কিছু গৃহকর্মী করা ভাল ধারণা হবে:
$wpdb->query( 'SET autocommit = 1;' );
আমি এই পরীক্ষা করা থাকেন MyISAM কিন্তু এই কাজ করা উচিত InnoDB ।
হিসাবে উল্লিখিত দ্বারা @kovshenin এই ডগা জন্য কাজ করবে না MyISAM ।