পোস্ট শিরোনামের তালিকা থেকে স্বতঃ-সম্পূর্ণ বা স্ব-পরামর্শ


13

আমি একটি (অনুসন্ধান) ফর্মটিতে একটি স্বয়ংক্রিয়-সম্পূর্ণ বা স্বয়ংক্রিয়-প্রস্তাবিত ফাংশন রাখতে চাই:

যখন কোনও ব্যবহারকারী টাইপ করতে শুরু করেন, তখন এটি পোস্টের শিরোনামগুলির সাথে মেলানো পাঠ্যের পরামর্শ দেয়।

আমি প্রতিটি কাস্টম পোস্টের সাথে সম্পর্কিত কিছু মেটা-ডেটা (একটি সংখ্যা) প্রদর্শন করাও চাই। উদাহরণ:

আমি যদি "এ" টাইপ করি তবে এটি "আপেল (13), আর্দভার্কস (51), নভোচারী (21)" ইত্যাদির পরামর্শ দেয়


মেটা মাঠের নাম কী? আপনি মেটা ক্ষেত্রটি ঠিক কীভাবে যুক্ত করেছেন তা দয়া করে কোড যুক্ত করুন। ধন্যবাদ।
কায়সার

আমি ধরে নিয়েছি মেটা ক্ষেত্রটি একটি বিশেষভাবে যুক্ত পোস্ট মেটা ক্ষেত্র (মেটা বক্স সংযোজন দ্বারা), বা একটি কাস্টম পোস্ট ভার, যা get_post_meta (iirc) দিয়ে অ্যাক্সেস করা যেতে পারে
ব্যারি কার্লিয়ন

আমি আসলে এখনও মেটা ক্ষেত্রটি যোগ করি নি।
মার্চটেন

উত্তর:


17

হ্যাঁ এটা সম্ভব।

আপনি jQuery অটো প্রস্তাব ব্যবহার করতে পারেন যা ওয়ার্ডপ্রেস http://codex.wordpress.org/Function_References/wp_enqueue_script এর সাথে অন্তর্ভুক্ত রয়েছে

এটির সাহায্যে আপনি এমন একটি ফর্ম লিখতে পারেন যা অ্যাজাক্স ইউআরএল হ্যান্ডলারের কাছে একটি অজ্যাক্স লুপআপ করে। যা আপনি এতে যুক্ত করতে পারেন। http://codex.wordpress.org/AJAX_in_Plugins

সুতরাং আপনি আজাক্স দেখতে এবং তারপরে অ্যাকশন সাইডে আপনি কেবল শিরোনাম মেলে একটি get_posts বা একটি কাঁচা এসকিএল কোয়েরি সম্পাদন করতে পারেন। এবং যা প্রয়োজন তা ফিরিয়ে দিন।

এটি সাহায্য করবে, আমি শীঘ্রই সময় পেলে আমি একটি সম্পূর্ণ কোড সমাধান লিখতে পারি। তবে এর বেশিরভাগ অংশই হ'ল লুকিংকে পাওয়ার জন্য একটি সম্পূর্ণ প্লাগইন।

সম্পাদনা: এখানে আমরা যাচ্ছি, এরকম কিছু এটি করা উচিত, এটি পরীক্ষা করে দেখেনি কেবল এটি আমার মাথার উপরের অংশে লিখেছিল। আপডেট: প্রবেশ করা পাঠ্যটি কাস্টম পোস্ট প্রকারের দ্বারা সংক্ষিপ্ত এবং কেবল প্রকাশিত পোস্টগুলিতে এস্কেপ করুন

2012-11-21 সম্পাদনা: কোড নমুনায় টাইপো আপডেট হয়েছে।

add_action('wp_enqueue_scripts', 'se_wp_enqueue_scripts');
function se_wp_enqueue_scripts() {
    wp_enqueue_script('suggest');
}

add_action('wp_head', 'se_wp_head');
function se_wp_head() {
?>
<script type="text/javascript">
    var se_ajax_url = '<?php echo admin_url('admin-ajax.php'); ?>';

    jQuery(document).ready(function() {
        jQuery('#se_search_element_id').suggest(se_ajax_url + '?action=se_lookup');
    });
</script>
<?php
}

add_action('wp_ajax_se_lookup', 'se_lookup');
add_action('wp_ajax_nopriv_se_lookup', 'se_lookup');

function se_lookup() {
    global $wpdb;

    $search = like_escape($_REQUEST['q']);

    $query = 'SELECT ID,post_title FROM ' . $wpdb->posts . '
        WHERE post_title LIKE \'' . $search . '%\'
        AND post_type = \'post_type_name\'
        AND post_status = \'publish\'
        ORDER BY post_title ASC';
    foreach ($wpdb->get_results($query) as $row) {
        $post_title = $row->post_title;
        $id = $row->ID;

        $meta = get_post_meta($id, 'YOUR_METANAME', TRUE);

        echo $post_title . ' (' . $meta . ')' . "\n";
    }
    die();
}

বাহ, ধন্যবাদ ব্যারি! আমি এটিকে ঘূর্ণি দেব, এটি ফাংশন.ফ্পে যায়, হ্যাঁ? আমি প্রয়োজনীয় অংশগুলি সংশোধন করব এবং এটি কী দেবে তা দেখুন
মার্টেইন

2
তত্ত্বের মধ্যে হ্যাঁ, ফাংশন.এফপি। আমি এটি একটি প্লাগইন এ আটকে থাকি যাতে উপায়টি বাইরে যায়। যদি এটি সরাসরি ফাংশন.ফ্পে চলে যায় তবে কিছু অপ্টিমাইজেশন করা যেতে পারে, সুতরাং এই
কোডগুলির কিছুটি

এটি কাজ করে .. প্রায়! আমার উল্লেখ করা উচিত ছিল যে আমি এটি একটি কাস্টম-পোস্ট-টাইপ থেকে হতে চাই, আমি আমার প্রশ্নটি সম্পাদনা করব
মার্টেইন

লাইক_স্কেপ অন্তর্ভুক্ত করার জন্য আপডেট হয়েছে। আমি শুরুতে%% ব্যবহার করছি না, কারণ তিনি প্রথম অক্ষরটি দিয়ে যে শিরোনামটি পোস্টের শিরোনাম দিয়ে শুরু হয়েছিল সেখানে সন্ধান করতে চান। গ্লোবাল ম্যাচ নয়। আমার ওয়ার্কিং কোডটি একটি $ $QQUEST ['q'] এর সাথে রয়েছে jQuery পরামর্শে কোনও বিকল্প প্রয়োগ করা হয়নি। কি অনুসন্ধান ইঞ্জিনগুলি ব্যবহার করে তা অনুকরণ করে।
ব্যারি কার্লিয়ন

@ ব্যারি কার্লিলিয়ন দয়া করে প্রতিটি ছোটখাট জিনিস সম্পাদনা করবেন না। আপনি যদি 10 টি সম্পাদনায় পৌঁছে যান তবে এটি স্বয়ংক্রিয়ভাবে "সম্প্রদায় উইকি" তে রূপান্তরিত হবে এবং আপনি সমস্ত প্রতিনিধি পয়েন্টগুলি আলগা করুন। এবং আমাদের আরও বেশি ব্যবহারকারী প্রয়োজন, যা ভাল উত্তর যুক্ত করে এবং একটি মিনিট পেয়ে যায় r. সম্পাদনা, উইকি যোগ করা ইত্যাদির মতো কাজগুলি করার জন্য খ্যাতি ওহ, এবং exit;সবসময় die();:) এর চেয়ে দ্রুত হয়
কায়সার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.