কোনও পৃষ্ঠায় এসিএফ দিয়ে তৈরি করা ক্ষেত্রের কাস্টমের সমস্ত মান প্রদর্শন করুন


9

আমি কাস্টম ক্ষেত্রগুলি তৈরি করতে উন্নত কাস্টম ক্ষেত্র / এসিএফ ব্যবহার করছি । এর মধ্যে একটি হ'ল চেকবক্সগুলির একটি তালিকা যা কিছু বিকল্প ( বিকল্প 1, বিকল্প 2, বিকল্প 3 ...) প্রদর্শন করে

এখন আমি এই ক্ষেত্রের সমস্ত বিকল্পটি এভাবেই একটি পৃথক পৃষ্ঠায় প্রদর্শন করতে চাই:

বিকল্প:
- বিকল্প 1
- বিকল্প 2
- বিকল্প 3
- ...

আমি কীভাবে এসিএফ থেকে কীগুলি সহ সমস্ত অপশন পুনরুদ্ধার করতে পারি?


আপনি ঠিক কী অর্জন করতে চাইছেন সে সম্পর্কে দয়া করে কিছুটা পরিষ্কার হয়ে যান। সীমান্তে কাস্টম ক্ষেত্রগুলির আউটপুট দেখানোর জন্য এসিএফ নির্মিত, সীমান্ত ইনপুটটিকে অনুমতি না দেওয়ার জন্য।
সিকহिप्পি

উত্তর:


16

get_field_objectACF ফাংশন একটি নির্দিষ্ট ক্ষেত্রের জন্য তথ্য এবং বিকল্প পাওয়ার জন্য ব্যবহার করা যাবে।

প্রথমে আপনার যে নির্দিষ্ট ক্ষেত্রের আউটপুট করতে চান তার ফিল্ড কী দরকার। কোনও ক্ষেত্রের গ্রুপ সম্পাদনা করার সময়, পৃষ্ঠার শীর্ষে পর্দা বিকল্প ট্যাবে ক্লিক করুন। ফিল্ড কীটির প্রদর্শন টগল করার জন্য আপনার একটি বিকল্প দেখতে পাওয়া উচিত (স্থানটি সংরক্ষণের জন্য এটি ডিফল্টরূপে লুকানো থাকে):

ফিল্ড কী

আপনার কীটি একবার হয়ে গেলে আপনি ফিল্ড অবজেক্টটি লোড করতে পারেন এবং এর মানগুলি আউটপুট করতে পারেন:

$field_key = "field_5039a99716d1d";
$field = get_field_object($field_key);

if( $field )
{
    echo '<select name="' . $field['key'] . '">';
        foreach( $field['choices'] as $k => $v )
        {
            echo '<option value="' . $k . '">' . $v . '</option>';
        }
    echo '</select>';
}

কীটি ব্যবহার করার মতো আমরা নামটি সহজেই উল্লেখ করতে পারলে ভাল লাগবে। এইভাবে যদি এটি কোনও প্লাগইনে থাকে এবং কখনও এএসএফ সক্ষম করে ওয়ার্ডপ্রেসের অন্য কোনও উদাহরণে এটি পরীক্ষা করার প্রয়োজন হয়, আপনার পরিবেশ বিতে কেবল আপনার কীটি সন্ধান করতে হবে এবং এটি আবার পরিবর্তন করতে হবে না
ক্লিভিস

0

যদি আপনি কোনও চেকবক্স চেক করা থাকে তবে যদি কিছু আউটপুট দেওয়ার চেষ্টা করছেন, ব্যবহার করুন:

<?php if(in_array('news', get_field('checkbox') )): ?>
    <h1>News was ticked!</h1>
<?php endif; ?>

যদি আপনি কেবল চেক করা বিকল্পগুলির একটি তালিকা প্রদর্শন করার চেষ্টা করছেন তবে এটি ব্যবহার করুন:

<p>Categories: <?php get_field('checkbox'); ?></p>

এটি আপনাকে একটি foreachঘোষণার মাধ্যমে পরিচালনা করতে পারে এমন মানগুলির একটি অ্যারে দেবে । ব্যবহারের the_field('checkbox')ফলে আপনি সেই বিকল্পগুলির একটি কমা বিযুক্ত স্ট্রিং পাবেন যা আপনি পাশাপাশি বিভক্ত করতে পারেন।

আমি আপনাকে এসিএফের সাইটে যান এবং ডকুমেন্টেশনটি দিয়ে যাওয়ার পরামর্শ দিচ্ছি । এই ধরণের বেশিরভাগ প্রশ্নের উপযুক্ত উত্তর দেওয়া হবে এবং বিকাশকারীও তার সমর্থন ফোরামে সক্রিয় রয়েছে ums

সম্পাদনা: আপনি যদি গতিশীল ক্যোয়ারি তৈরির জন্য কোনও পৃষ্ঠায় উপলভ্য বিকল্পগুলির আউটপুটের তালিকাটি চান তবে আমার কাছে কেবল জিনিসটি রয়েছে। প্রদত্ত কাস্টম ফিল্ড কী (এসিএফ ব্যবহার করে) থেকে মেটা মানগুলির তালিকা আনার জন্য আমি গতকালই এটি তৈরি করেছি। আমি আপনার জন্য মোটামুটি জেনেরিক তৈরি করেছি। এজ্যাক্স অনুরোধটি পরিচালনা করার জন্য জেএসের আরও একটি অংশ রয়েছে, এবং ফলস্বরূপ পোস্টগুলি ছাপিয়ে যাওয়ার পরিবর্তে পিএইচপি এর একটি সংশ্লেষিত টুকরো। আমি সত্যিই সেগুলি পুনরায় লিখতে পারি না - জেএস হ'ল স্ট্যান্ডার্ড ডাব্লুপি ফরোয়ার্ড এজ্যাক্স কল / প্রতিক্রিয়া, এবং পিএইচপি হ'ল আমরা যে 12 টি ভিন্ন এসিএফ ক্ষেত্রটি প্রদর্শন করছি তার শর্তাধীন চেকগুলির একটি জগাখিচুড়ি (যার মধ্যে 2 টি পুনরায় পাঠক)। বেসিকগুলি এখানে এই কোড, বোতামটি onClickএকটি পৃথক জেএস ফাইলে অ্যাজাক্স ফাংশনটি কল করে এবং এজ্যাক্স ফাংশনের জন্য পিএইচপি নিজেই মূলত ক্যোয়ারির জন্য একটি আর্গুমেন্ট সেট করে,$selectedOptionবা $_POST['option']মেটা_ভ্যালু হিসাবে। এটি একটি খাওয়ানো হয় new WP_Query( $args );, যা পরে একটি লুপ ব্যবহার করা হয়, যার আউটপুট জেএস ফিরে add_action('wp_ajax_the_ajax_hook', 'fetch_option_list');এবং মাধ্যমে খাওয়ানো হয় add_action( 'wp_ajax_nopriv_the_ajax_hook', 'fetch_option_list' ); //for non logged-in users

 // Get list of meta_values for given meta_key and post_type (page, post, custom post type)
 function meta_list($key = '', $type = '', $status = 'publish'){
 global $wpdb;
    $r = $wpdb->get_col($wpdb->prepare( "
    SELECT DISTINCT pm.meta_value FROM {$wpdb->postmeta} pm
    LEFT JOIN {$wpdb->posts} p ON p.ID = pm.post_id
    WHERE pm.meta_key = '%s'
    AND p.post_status = '%s'
    AND p.post_type = '%s'
    ORDER BY pm.meta_value ASC", $key, $status, $type));
    return $r;
}

 // ADD EG A FORM TO THE PAGE
 function meta_ajax_frontend(){
    $formlist = meta_list('metakey', 'posttype');
    echo '<form id="optionSelect">';
    echo '<select id="optionList" name="optionList">';
    foreach($formlist as $fl => $val) {
        echo '<option>' . $val . '</option>';
    }
    echo '</select>';
    echo '<input name="action" type="hidden" value="the_ajax_hook" />
    <input id="submit_button" value = "Search" type="button" onClick="fetch_meta();" />
    </form>
    <div id="meta_list">
    Please select an option from the list
    </div>';
 }

মিম, আমি যদি এটি করি তবে আমি "পোস্ট" -র জন্য বরাদ্দকৃত বিকল্পগুলি আউটপুট দেব, আমার "পৃষ্ঠায়" সমস্ত অপশনকে বিকল্পগুলির সম্পূর্ণ তালিকা হিসাবে দেখানো দরকার।
বব

আপনার আগ্রহ কেন আপনি কেন প্রান্তে প্রদর্শিত ব্যাকএন্ডের বিকল্প তালিকা প্রয়োজন। আপনি কি প্রশাসক নির্বাচিত আইটেমগুলির সাথে কেবল বিকল্প তালিকা প্রদর্শন করতে চান? যদি আপনি এটি কোনও ফর্মের অংশ হিসাবে ব্যবহার করার চেষ্টা করছেন (ব্যবহারকারীদের চেক করা তথ্যের পরিবর্তনের মঞ্জুরি দেয়), এটি করার জন্য এটি সঠিক প্লাগইন বা পদ্ধতি নয়। তবে, আপনি যদি ক্যোয়ারীটি পুনরায় লেখার জন্য প্রাক-ফিল্টার হিসাবে বিকল্প তালিকাটি ব্যবহার করতে চান তবে আমার কাছে আপনার কাছে কেবল জিনিসটি থাকতে পারে। আমি আমার কোড উপরের পোস্টটি শীঘ্রই এখানে সম্পাদনা করব।
সিকহিপ্পি

অন্য ইমের সাথে হাই ইম বব, তাদের সাথে এক ধরণের "মেনু" তৈরি করতে আমার ব্যাকএন্ডের বিকল্পগুলি দরকার need আমি মনে করি যে আপনার কোড পোস্ট এবং তাদেরকে দেওয়া বিকল্পগুলি পুনরুদ্ধার করে। আমার যখন কেবল কোনও পোস্ট তৈরি করার সময় ব্যাকএন্ডে প্রদর্শিত হবে তার মতো বিকল্পগুলির তালিকা আমার প্রয়োজন। আমি কিছু খুঁজে পেতে পারি কিনা তা দেখার জন্য আমি আপনার কোড সহ কাজ করে যাব। ধন্যবাদ @ সিকহিপ্পি
-ক্রুগার

না, এটি সেই চেকবাক্স থেকে নির্বাচিত বিকল্পগুলির তালিকার টান দেয় - এর অর্থ এটি "চেকবাক্স এখানে রয়েছে, এমন পোস্ট রয়েছে যা 'বিকল্প 1', 'বিকল্প 2', 'বিকল্প 4' নির্ধারিত হয়েছে এবং এইভাবে। এটি আক্ষরিকভাবে কেবল সেই মেটা_কির উপর ভিত্তি করে মেটা_ভ্যালু তালিকাটি টানছে I আমার ডায়নামিক তালিকার জন্য এটি দরকার ছিল, তবে আপনি যদি একটি খসড়া পোস্ট তৈরি করেন তবে নির্বাচিত সমস্ত চেকবক্সগুলি এটি আপনার জন্য একটি অ্যারেতে সমস্ত বিকল্প টেনে আনবে That's এটি অ্যারে That's আমি ব্যবহার করছি foreachমাধ্যেমে লুপ করতে Ajax মাধ্যমে পোস্টগুলির তালিকাতে আনতে পরে ফাংশন, কিন্তু আমি একটু বাইরে
SickHippie
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.