ওয়ার্ডপ্রেস 3.0.০ এ নেভিগেশন মেনুতে পোস্টের সংরক্ষণাগার যুক্ত করা


10

হেই, আমি ওয়ার্ডপ্রেস 3.0.০ এবং দুটি (২) নতুন বৈশিষ্ট্য কাস্টম পোস্ট প্রকার এবং মেনু সম্পাদক সহ খেলছি ।

" products" নামে একটি নতুন পোস্ট টাইপ তৈরি করে শুরু করেছি , যেমন আপনি অনুমান করেছেন, এই তালিকার পণ্যগুলি।

আমি বগ স্ট্যান্ডার্ড টেম্পলেট ব্যবহার করছি এবং আমি শীর্ষ নেভ প্রতিস্থাপন করতে একটি নতুন মেনু তৈরি করছি। আমি যতদূর দেখতে পাচ্ছি আমি এটিতে কিছু নির্দিষ্ট "পণ্য" যুক্ত করতে পারি, আমি পণ্যের "সংরক্ষণাগার" যুক্ত করতে পারি না । আমি যা করার চেষ্টা করছি তা হ'ল মেনুতে একটি লিঙ্ক যুক্ত করে একটি পৃষ্ঠাতে যা সমস্ত পণ্য তালিকাভুক্ত করে।

কোন ধারণা কিভাবে এই কাজ করতে?

উত্তর:


12

@ ডট্টি যেমন আপনি এই ট্র্যাকের টিকিটের মাধ্যমে দেখতে পাচ্ছেন: কাস্টম পোস্টের জন্য সূচী পৃষ্ঠাগুলি থাকা উচিত তাই স্পষ্টতই প্রয়োজনটি ওয়ার্ডপ্রেস কোরটিতে এখনও সমাধান করা যায় নি।

@ জন পি ব্লচ এবং @ ক্রিস_ও উভয়ই আপনাকে ভাল বিকল্প দেয়; আমি আপনাকে একটি তৃতীয় দিতে যাচ্ছি।

একটি "পণ্য" পৃষ্ঠা

প্রথমে আপনার কাস্টম পোস্টের ধরণের জন্য একটি পৃষ্ঠা তৈরি করুন এবং এটিকে "পণ্য" বলুন । এটি এটিকে নিম্নলিখিত URL টি দেবে:

HTTP: //example.php/products/

একটি "পণ্য তালিকা" শর্টকোড

এর পরে একটি শর্টকোড তৈরি করুন যা আপনি আপনার "পণ্য" পৃষ্ঠাতে এম্বেড করতে পারেন । আমার উদাহরণে আমি এটিকে ডাকলাম [product-list]। এটি কী ব্যবহার করে এর মতো দেখতে স্ক্রিনশটটি এখানে:

একটি পণ্যের পৃষ্ঠা যা ওয়ার্ডপ্রেসে পণ্যগুলির তালিকা প্রদর্শন করতে একটি শর্টকোড ব্যবহার করে
(সূত্র: মাইকসচিনেল.কম )

নোট করুন যে এই জাতীয় শর্টকোড প্রচুর alচ্ছিক কার্যকারিতা যুক্ত করার এবং এটি বিভিন্ন পোস্টের ধরণের জন্য কাজ করতে সক্ষম করার জন্য দুর্দান্ত প্রার্থী হবে তবে স্বচ্ছতার স্বার্থে আমি সবকিছুই হার্ডকোড করেছি। আপনি অবশ্যই এটি নিজের শর্টকোডের জন্য একটি প্রাথমিক পয়েন্ট হিসাবে ব্যবহার করতে পারেন:

<?php
add_shortcode('product-list', 'my_product_list');
function my_product_list($args) {
  $save_post = $GLOBALS['post'];  // Save state so you can restore later
  $post_type = 'product';
  $template_file = get_stylesheet_directory() . "/post-{$post_type}.php";
  if (!file_exists($template_file)) {
    return "<p>Missing template [$template_file].</p>";
  } else {
    global $post;
    $q = new WP_Query("showposts=10&post_type={$post_type}&orderby=title&order=ASC");
    $rows = array();
    $rows[] = '<div class="post-list ' . $post_type . '-post-list">';
    global $post_list_data;
    $post_list_data = array();
    $post_list_data['post_count'] = $post_count = count($q->posts);
    foreach ($q->posts as $post) {
      $q->the_post();
      ob_start();
      include($template_file);
      $rows[] = ob_get_clean();
    }
    $rows[] = '</div>';
    $GLOBALS['post'] = $save_post;
    return implode("\n",$rows);
  }
}

একটি post-product.phpথিম টেমপ্লেট ফাইল

এর পরে আপনাকে একটি থিম টেম্পলেট ফাইল তৈরি করতে হবে যা কেবলমাত্র একটি পণ্য প্রদর্শন করে। শর্টকোড কার্যকর করে এমন ফাংশনটি টেম্পলেট ফাইলের নাম দেয় post-product.phpএবং এখানে একটি ভাল সূচনা পয়েন্ট:

<?php
/**
 * post-product.php - File to display only one product within a list of products.
 */
?>
<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
  <h2 class="entry-title"><?php the_title(); ?></h2>
  <div class="entry-content">
    <?php the_content(); ?>
  </div>
</div>

মেনু বিকল্প যুক্ত করুন

সর্বশেষে আপনি মেনু বিকল্পটি যুক্ত করতে চান। এটি আপনি খুব সহজেই এই স্ক্রিনশট থেকে দেখতে পাচ্ছেন (নীচে ধরে নেওয়া হয়েছে যে আপনি এর আগে ওয়ার্ডপ্রেস men.০ মেনুগুলির সাথে কিছুই করেননি এবং আপনি এমন একটি থিম ব্যবহার করছেন যা ওয়ার্ডপ্রেস 3.0.০ মেনু যেমন কুড়ি দশকে সমর্থন করে):

  1. অ্যাডমিন মেনুতে মেনু বিকল্পটি নির্বাচন করুন।
  2. একটি নতুন মেনু যুক্ত করতে " + " ক্লিক করুন।
  3. আপনার মেনু নামটি টাইপ করুন, আপনার যা পছন্দ হোক।
  4. ক্লিক করুন "মেনু তৈরি করুন" বোতাম (স্ক্রিন শট শো "মেনু সংরক্ষণ করুন" কিন্তু এটা হতে হবে "মেনু তৈরি করুন" যখন যোগ।)
  5. আপনার নতুন মেনুটিকে আপনার "প্রাথমিক নেভিগেশন" হিসাবে নির্বাচন করুন ।
  6. আপনার "পণ্য " পৃষ্ঠাটি নির্বাচন করুন ।
  7. "মেনুতে যুক্ত করুন " এ ক্লিক করুন
  8. "সেভ মেনু" ক্লিক করুন

একটি ওয়ার্ডপ্রেস সাইটে পণ্য পৃষ্ঠা মেনু বিকল্প যুক্ত করা
(সূত্র: মাইকসচিনেল.কম )

অবশেষে, আউটপুট

এবং এখানে একটি মৌলিক পণ্য তালিকা দেখতে কেমন হতে পারে তা এখানে:

ওয়ার্ডপ্রেসে একটি কাস্টম পোস্ট প্রকার ব্যবহার করে পণ্যের তালিকা
(সূত্র: মাইকসচিনেল.কম )


বাকি প্রশ্নটি কীভাবে পণ্যগুলির মেনু এন্ট্রিটি পরিবর্তন করতে হয় তাই এটি সমস্ত পণ্য সহ একটি সাবমেনু সরবরাহ করে।
hakre

@ হার্ক আপডেট হয়েছে
মাইকচিন্কেল

ভাল যে একটি অনুরোধ ছিল না :)। আমি কেবল ভাবলাম কীভাবে ড্রপ-ডাউনটি স্বয়ংক্রিয়ভাবে তৈরি হয়ে যায় এবং আমি মনে করি এটি এখনও কার্যকর হয় নি। কিন্তু লিখিত, যে না একটি অনুরোধ।
hakre

হাই, আমার এতে সমস্যা আছে এবং আশা করি আপনি সহায়তা করতে পারেন। সমস্যা হয় current-menu-itemবর্গ উপর প্রয়োগ করা হয় না পণ্য 'li
Reigel

অনুপস্থিত চিত্রসমূহ। : /
ফুক্সিয়া

4

এটি স্থানীয়ভাবে ওয়ার্ডপ্রেস দ্বারা সমর্থিত নয়। তবে, আপনি এটি আপনার ফাংশন.এফপি ফাইলে যুক্ত করতে পারেন এবং এটি কাজ করবে:

function give_me_a_list_of_products(){
  add_rewrite_rule( 'products/?$', 'index.php?post_type=products', 'top' );
}

add_action( 'init', 'give_me_a_list_of_products' );

এটি আপনাকে পণ্যের তালিকা হিসাবে উদাহরণ.com/products/ দেবে। সেখান থেকে, আপনি কেবল আপনার মেনুতে একটি কাস্টম লিঙ্ক যুক্ত করুন।

তবে, আপনি যদি ফিড সহ সত্যিকারের সংরক্ষণাগার (মাস, বছর ইত্যাদি) চান তবে আপনার আরও বিশদ কোডের প্রয়োজন। যদি আপনার 'পণ্যগুলি' হায়ারার্কিকাল পোস্টের ধরণের হয় (মনে হয় এগুলি হওয়া উচিত) তবে আপনি আমার প্লাগইন ব্যবহার করতে পারেন:

http://www.wordpress.org/extend/plugins/custom-post-permalinks/

এটি আপনাকে আপনার পারমাঙ্কগুলি কাস্টমাইজ করতে অতিরিক্ত ক্ষেত্র দেয় (যেমন আপনি ব্লগ পোস্টের সাহায্যে করতে পারেন), এবং আপনাকে বিভাগ, লেখক, মাস, বছর, পোস্টের ধরণের ইত্যাদির উপর ভিত্তি করে পার্মলিংকগুলি কাস্টমাইজ করার ক্ষমতা দেয় will


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

0
আমি যতদূর দেখতে পাচ্ছি আমি এতে নির্দিষ্ট কিছু "পণ্য" যুক্ত করতে পারি, আমি পণ্যের "সংরক্ষণাগার" যুক্ত করতে পারি না। আমি যা করার চেষ্টা করছি তা হ'ল মেনুতে একটি লিঙ্ক যুক্ত করে একটি পৃষ্ঠাতে যা সমস্ত পণ্য তালিকাভুক্ত করে। কোন ধারণা কিভাবে এই কাজ করতে?

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

উদাহরণ হিসাবে আমার একটি কাস্টম পোস্ট টাইপ রয়েছে "জবস" নামে একটি ট্যাক্সোনমি সহ "পজিশন" লেবেলযুক্ত বিকল্প পাঠ

যদি আমি "কারেন্ট ওপেনিংস" শ্রেণীবদ্ধের শর্তযুক্ত সমস্ত চাকরি চাইতাম তবে আমি এটিকে নির্বাচন করে মেনুতে যুক্ত করব। বিকল্প পাঠ

সংরক্ষণাগার পৃষ্ঠায় আপনার সমস্ত "পণ্য" পোস্ট প্রকারের দরকার থাকলে আপনি সেগুলির জন্য একটি অভিভাবক শৈলী অর্পণ করতে পারেন যাতে সেগুলি সমস্ত সংরক্ষণাগার পৃষ্ঠায় তালিকাভুক্ত হতে পারে।


@ ক্রিস_ও : এটি একটি উপায়, তবে একমাত্র উপায় নয় এবং ব্যবহারকারীর দ্বারা শ্রেণিবদ্ধকরণ বজায় রাখতে যথেষ্ট পরিমাণ প্রচেষ্টা প্রয়োজন। জেএমটিসিডাব্লু যাইহোক।
মাইকচিনকেল

বোধ হয়। আশা করি কাস্টম পোস্ট প্রকারের সূচক পৃষ্ঠাটি মূলভাবে সম্বোধন করা হবে।
ক্রিস_ও

0

আমি মনে করি, কাস্টম পোস্ট টাইপ করে একটি পোস্ট টাইপ আর্কাইভের মাধ্যমে তৈরি করা এবং এই সংরক্ষণাগারে আর্কাইভ করা পোস্টগুলি সরিয়ে নেওয়া আরও ভাল সমাধান। এটিকে পূর্বাবস্থায় ফেলার জন্য এই নতুন পোস্ট_ টাইপের পোস্টমেটে বর্তমান পোস্ট_ টাইপ যুক্ত করুন। আমি এর জন্য একটি প্লাগইন লিখেছি এবং বর্তমান আপনি স্টাইলশিট, চিত্র এবং ভাষার ফাইল ছাড়াই জিস্ট . github / 978690 এ দেখতে পারেন

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