আমি কীভাবে পৃষ্ঠার শিরোনামটি ডায়নামিকভাবে সেট করব?


19

কোড সহ পৃষ্ঠা শিরোনাম পরিবর্তন করা সম্ভব?

উদাহরণস্বরূপ, আসুন পৃষ্ঠার নামটি "আপনার অর্ডার বুক করুন", তবে আমি এটি "বুক অর্ডার # 123" এ পরিবর্তন করতে চাই।

আমি কিছুটা গুগল করলাম এবং এখানে দেখলাম এবং কিছুই দেখতে পেলাম না। প্লাগইন বা হ্যাক কেউ জানেন?

wp_title পৃষ্ঠার শিরোনামটি ফেরত দেয় তবে পৃষ্ঠার শিরোনামটি সেট করতে দেয় না: http://codex.wordpress.org/Function_References/wp_title


মান কোথা থেকে আসবে? সেই পৃষ্ঠাতে # 123 এর মান কী?
সেগিভ এসইও

উত্তর:


23

এটিতে কোনও ডকুমেন্টেশন নেই তবে আপনি এটির জন্য সর্বদা একটি ফিল্টার প্রয়োগ করতে the_titleপারেন:

add_filter('the_title','some_callback');
function some_callback($data){
    global $post;
    // where $data would be string(#) "current title"
    // Example:
    // (you would want to change $post->ID to however you are getting the book order #,
    // but you can see how it works this way with global $post;)
    return 'Book Order #' . $post->ID;
}

এগুলি দেখুন:

http://codex.wordpress.org/Function_Reference/the_title

http://codex.wordpress.org/Function_Reference/add_filter


এটি সমস্ত শিরোনামকে ওভাররাইড করে বলে মনে হচ্ছে। আমি কীভাবে কেবল বর্তমান শিরোনামটিকে ওভাররাইড করব?
পেট্রাস থেরন

আপনাকে কলব্যাকে একটি শর্ত যুক্ত করতে হবে, যেমনif ($post->ID == 45) { ... }
নিক ব্যারেট

3
the_titleফিল্টার আর ওয়ার্ডপ্রেস, ব্যবহারের সর্বশেষ সংস্করণ কাজ করে document_title_partsবা pre_get_document_titleঅন্য উত্তর বিস্তারিত হিসাবে ফিল্টার।
ব্রেন্ডন নী

8

ওয়ার্ডপ্রেস ৪.৪ হিসাবে, আপনি document_title_partsশিরোনাম পরিবর্তন করতে ওয়ার্ডপ্রেস ফিল্টারটি ব্যবহার করতে পারেন ।

নিম্নলিখিতগুলিতে এতে যুক্ত করুন functions.php:

add_filter('document_title_parts', 'my_custom_title');
function my_custom_title( $title ) {
  // $title is an array of title parts, including one called `title`

  $title['title'] = 'My new title';

  if (is_singular('post')) {
    $title['title'] = 'Fresh Post: ' . $title['title'];
  }

  return $title;
}

কিন্তু আপনি কোথায় ফিল্টারে প্যারামিটারে পাস করবেন?
টিনটিনাবুলেটর জিয়া

উপরের ফাংশনটি কাজের পদ্ধতি the_title()এবং ফাংশনগুলি পরিবর্তন করে get_the_title()- সুতরাং কোনও পরামিতিগুলি পাস করার প্রয়োজন নেই।
ব্রেন্ডন নী

5

দস্তাবেজের titleবৈশিষ্ট্যটি পরিবর্তন করতে ইচ্ছুকদের জন্য , আমি দেখতে পেয়েছি যে wp_titleফিল্টার ব্যবহার করা আর কাজ করে না। পরিবর্তে, ফিল্টারটি ব্যবহার করুনpre_get_document_title :

add_filter("pre_get_document_title", "my_callback");
function my_callback($old_title){
    return "My Modified Title";
}

সূত্র


1
এই আপডেটটি পোস্ট করার জন্য বছর পরে ফিরে আসার জন্য ধন্যবাদ। আমি কয়েক বছর ধরে আমার একটি প্লাগইনে wp_title ব্যবহার করে আসছি এবং বুঝতে পারি নি যে এটি এখন পর্যন্ত কাজ করে না এবং আপনার উত্তর আমাকে প্রচুর প্রচেষ্টা বাঁচিয়েছিল। তাই আপনাকে ধন্যবাদ!
ম্যাথুলি

এটি শুনে আপনি ম্যাটহেল্লি খুশি
নাথন আর্থার

2

সত্যিই নির্ভর করে যদি আপনি বর্তমান পৃষ্ঠার জন্য (যেমন <title></title>শিরোনামে ট্যাগের বিষয়বস্তু ) কোনও কাস্টম শিরোনাম প্রদর্শন করতে চান বা পৃষ্ঠার শিরোনামে বা তালিকাগুলিতে পৃষ্ঠাগুলির শিরোনাম ফিল্টার করে থাকেন।

সাবেক ক্ষেত্রে (বর্তমান পৃষ্ঠার শিরোনাম) সালে জন্য একটি ফিল্টার যোগ করার চেষ্টা wp_title(): তাই মত http://codex.wordpress.org/Plugin_API/Filter_Reference/wp_title

আপনি যদি বোর্ড জুড়ে পৃষ্ঠার শিরোনামগুলি সংশোধন করতে চান তবে ফিল্টারিংয়ের the_title()কৌশলটি কাজটি করবে: http://codex.wordpress.org/ প্লাগইন_এপিআই / ফিল্টার_প্রেমীকরণ / শীর্ষস্থানীয় শিরোনাম


আসলে আমার অভিজ্ঞতা আপনি উভয় ফিল্টার করতে প্রয়োজন wp_titleএবং the_titleউভয় আবরণ।
জেফ্রি

আমি নিশ্চিত নই যে এর অবমূল্যায়নের কারণে এটি তবে এটি আমার পক্ষে কাজ করে না। আমি সংমিশ্রণগুলি এবং ইনলাইন ফিল্টারগুলি এবং নতুন প্রয়োগ_ফিল্টারগুলি ('প্রিজেট_ডোকমেন্ট_সামগ্রী', স্ট্রিং $ শিরোনাম) চেষ্টা করেছি
অবতরণ করেছি

দু: খজনকভাবে উভয়ই আমার পক্ষে কাজ করেনি।
ডেবি কুর্থ

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

1

ইয়োস্ট সক্ষম করার সময় আপনাকে শিরোনামটি এর থেকে ওভাররাইড করতে হবে:

add_filter('wpseo_title', 'custom_titles', 10, 1);
function custom_titles() {

  global $wp;
  $current_slug = $wp->request;

  if ($current_slug == 'foobar') {

    return 'Foobar';
  }
}

-2

সুতরাং আপনি প্রতি পৃষ্ঠার ভিত্তিতে শিরোনাম পরিবর্তন করতে চান? প্রথমে একটি কাস্টম পোস্ট সেট আপ একটি বক্স পূরণ। স্ম্যামিং ম্যাগাজিনটি সম্প্রতি এটিকে কভার করেছে: http://wp.smashingmagazine.com/2011/10/04/create-custom-post-meta-boxes-wordpress/ । এরপরে শুল্কটি প্রতিস্থাপন করতে আপনি একটি সাধারণ ফাংশন তৈরি করতে পারেন যদি কাস্টম মেটা বাক্সটির কোনও মান থাকে।

বেশ কয়েকটি এসইও প্লাগইন রয়েছে যা এই কার্যকারিতাও সরবরাহ করে। উদাহরণের জন্য Yoast SEO ব্যবহার করে দেখুন: http://wordpress.org/extend/plugins/wordpress-seo/

আশাকরি এটা সাহায্য করবে.


1
এই সমাধানগুলি "গতিশীল" তবে "ম্যানুয়ালি" শিরোনামটি বদলাবে না।
গুস্তাভো

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