কাস্টম পোস্টের ধরণে কাস্টম ক্ষেত্রগুলি কীভাবে যুক্ত করবেন?


18

ঠিক আছে, তাই আমি কয়েকটি কাস্টম পোস্ট ধরণের এবং কয়েকটি কর বিভাগগুলি নিবন্ধভুক্ত করেছি। এখন, আমার জীবনের জন্য, আমি আমার কাস্টম পোস্টের ধরণের একটি কাস্টম ফিল্ড যুক্ত করার জন্য প্রয়োজনীয় কোডটি অনুভব করতে পারি না।

আমার একটি ড্রপ ডাউন এবং একটি একক লাইন পাঠ্য অঞ্চল দরকার। তবে পোস্টের ধরণের জন্য আমার আলাদা ক্ষেত্রও থাকা দরকার। সুতরাং, বলুন পোস্টের ধরণের একটিতে 3 টি ক্ষেত্র রয়েছে এবং পোস্ট টাইপ 2 এর 4 টি ক্ষেত্র রয়েছে তবে ক্ষেত্রগুলি পৃথক।

কোনও টিপস আমাকে কোডেক্সের দিকে নজর রেখে কিছু খুঁজে পেতে সহায়তা করবে তবে আমার functions.phpফাইলে আমাকে কী যুক্ত করতে হবে তা বুঝতে পারি না


উত্তর:


19

এটি সম্ভবত আপনার জটিলতার চেয়ে জটিল, আমি একটি কাঠামো ব্যবহার করে দেখব:

আপনি যদি নিজের লেখা লিখতে চান তবে এখানে কিছু শালীন টিউটোরিয়াল রয়েছে:


1
সত্যিই এটি কঠিন হবে। আমি ভেবেছিলাম এটি আমার ফাংশনগুলিতে একটি রেজিস্টার কোড যুক্ত করার মতো সহজ হবে যেমন আমরা পোস্ট ধরণের এবং ট্যাক্সনোমির সাথে করি।
xLRDxREVENGEx

1
আমি এই উত্তরটি প্লাস করব, তবে এটি খুব জটিল নয়। কীভাবে বিপাক যুক্ত করতে এবং সেগুলি সংরক্ষণ করবেন তা বোঝানোর জন্য থিংকভিটামিন ডটকম লিঙ্কটি দুর্দান্ত কাজ করে। Sltaylor.co.uk লিঙ্কটি দুর্দান্ত কিছু কোডিং অনুশীলন ব্যবহার করার জন্য একটি দুর্দান্ত টিউটোরিয়াল। আমার সতর্কতার শব্দটি save_postহুক ব্যবহার করার সময় সতর্কতা অবলম্বন করা উচিত । এটি অদ্ভুত সময়ে বলা হয়। এটি ব্যবহার করার সময় উদ্ভূত সম্ভাব্য ত্রুটিগুলি দেখার জন্য ডাব্লুপি_ডিইবিউজি ভেরিয়েবলটি সত্য হিসাবে সেট করা আছে তা নিশ্চিত করুন।
টোলম্যান্জ

1
মাত্র একটি আপডেট আমি থিঙ্কভিটামিন লিঙ্কটি ব্যবহার করেছি এবং এটি দুর্দান্তভাবে সহায়তা করেছিল এবং এটি কাস্টম ক্ষেত্রগুলি স্থাপনের জন্য একটি কেক ওয়াক ছিল
xLRDxREVENGEx

25

আপনার কাস্টম পোস্ট প্রকারের সম্পাদনা পর্দাটি পোস্ট করতে supportsযুক্তিটি (যুক্ত করার সময় register_post_type) যুক্ত / সম্পাদনা করুন custom-fields:

'supports' => array( 
  'title', 
  'editor', 
  'excerpt', 
  'thumbnail', 
  'custom-fields', 
  'revisions' 
)

সূত্র: https://codex.wordpress.org/ ব্যবহার_ কাস্টম_ফিল্ডস# ডিসপ্লেিং_ কাস্টম_ফিল্ডস


2
আপনি দয়া করে ব্যাখ্যা করতে পারেন কেন এটি সমস্যার সমাধান করতে পারে?
s_ha_dum

1
হ্যাঁ, এটি কাজ করে। কে উত্তর -1 '। আপনি কি এটি আবার নিতে পারেন? শুভেচ্ছা,
জুনেদ কাদির

6
...এবং তারপর.........?
চিহ্নিত করুন

9

যদিও আপনাকে কিছু বৈধতা যুক্ত করতে হবে, ওয়ার্ডপ্রেসের বর্তমান সংস্করণে এই ক্রিয়াটি জটিল বলে মনে হচ্ছে না।

একটি কাস্টম পোস্ট প্রকারে কাস্টম ফিল্ড যুক্ত করতে আপনার মূলত দুটি পদক্ষেপ প্রয়োজন:

  1. এমন একটি মেটাবক্স তৈরি করুন যা আপনার কাস্টম ফিল্ডটি ধারণ করে
  2. আপনার কাস্টম ফিল্ডটি ডাটাবেসে সংরক্ষণ করুন

এই পদক্ষেপগুলি বিশ্বব্যাপী এখানে বর্ণনা করা হয়েছে: http://wordpress.org/support/topic/is-it-possible-to-add-an-extra-field-to-a-custom-post-type

উদাহরণ:

"প্রিফিক্স-টিম মেম্বার্স" নামক একটি কাস্টম পোস্ট প্রকারে "ফাংশন" নামে একটি কাস্টম ফিল্ড যুক্ত করুন।

প্রথমে মেটাবক্স যুক্ত করুন:

function prefix_teammembers_metaboxes( ) {
   global $wp_meta_boxes;
   add_meta_box('postfunctiondiv', __('Function'), 'prefix_teammembers_metaboxes_html', 'prefix_teammembers', 'normal', 'high');
}
add_action( 'add_meta_boxes_prefix-teammembers', 'prefix_teammembers_metaboxes' );

যদি আপনার কোনও "উপসর্গ-দল মেম্বার" যুক্ত বা সম্পাদনা করেন তবে হুকটি add_meta_boxes_{custom_post_type}ট্রিগার হয়। ফাংশনের জন্য http://codex.wordpress.org/Function_References/add_meta_box দেখুন add_meta_box()। উপরের কলে add_meta_box()হয় prefix_teammembers_metaboxes_html, একটি কলব্যাক আপনার ফর্ম ক্ষেত্র যোগ করুন:

function prefix_teammembers_metaboxes_html()
{
    global $post;
    $custom = get_post_custom($post->ID);
    $function = isset($custom["function"][0])?$custom["function"][0]:'';
?>
    <label>Function:</label><input name="function" value="<?php echo $function; ?>">
<?php
}

দ্বিতীয় ধাপে আপনার নিজের কাস্টম ক্ষেত্রটি ডাটাবেসে রয়েছে। save_post_{custom_post_type}হুক সংরক্ষণের সময় ট্রিগার করা হয় (v 3.7 থেকে, দেখুন: /programming/5151409/wordpress-save-post-action-for-custom-posts )। আপনি আপনার কাস্টম ক্ষেত্রটি সংরক্ষণ করতে এটি হুক করতে পারেন:

function prefix_teammembers_save_post()
{
    if(empty($_POST)) return; //why is prefix_teammembers_save_post triggered by add new? 
    global $post;
    update_post_meta($post->ID, "function", $_POST["function"]);
}   

add_action( 'save_post_prefix-teammembers', 'prefix_teammembers_save_post' );   

"প্রিফিক্স_টায়মেমবার্স_সেভ_পোস্টটি নতুন যুক্ত করে ট্রিগার করা কেন?" আপনি কি একটি উত্তর পেয়েছেন, আমি অতিরিক্ত ফাংশন ট্রিগারকেও আটকে যাচ্ছি যা আমি মনে করতে পারি না?
অ্যালেক্স

"প্রিফিক্স-টিমেমেম্বারস" নামে পরিচিত একটি কাস্টম পোস্ট প্রকারে "ফাংশন" নামে একটি কাস্টম ফিল্ড যুক্ত করুন। "" বলে "এর অর্থ কী? নাম? একক নাম? লেবেল? সম্ভবত এটি রেজিস্টার_পোস্ট_প্রকারের প্রথম আর্গুমেন্ট হিসাবে স্ট্রিংটি ব্যবহৃত হয়েছে? সামঞ্জস্যপূর্ণ হতে পারে এটি এত দীর্ঘ কি তা বিবেচ্য নয়।
arnoldbird

1

কাস্টম মেটা বক্স এবং কাস্টম ক্ষেত্রগুলির জন্য বিভিন্ন প্লাগইন রয়েছে। আপনি যদি এমন একটি প্লাগইন দেখে থাকেন যা বিকাশকারীদের উপর দৃষ্টি নিবদ্ধ করে তবে আপনার মেটা বক্স চেষ্টা করা উচিত । এটি হালকা ও খুব শক্তিশালী।

তুমি কেমন একটি মেটা বক্স / কাস্টম ক্ষেত্রের জন্য কোড লিখতে উপর একটি টিউটোরিয়াল খুঁজছেন, তাহলে এই একটি ভালো শুরু। এটি একটি সিরিজের প্রথম অংশ যা আপনার প্রসারিত করা সহজ করার জন্য কোডটি পরিমার্জনে সহায়তা করতে পারে।


-6
// slider_metaboxes_html , function for create HTML 
function slider_metaboxes( ) {
   global $wp_meta_boxes;
   add_meta_box('postfunctiondiv', __('Custom link'), 'slider_metaboxes_html', 'slider', 'normal', 'high');
}

//add_meta_boxes_slider => add_meta_boxes_{custom post type}
add_action( 'add_meta_boxes_slider', 'slider_metaboxes' );

নিখুঁত জ্ঞান

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.