শিরোনাম এইচটিএমএলে জেএসএন এপিআই লিঙ্কগুলি সরান


33

হেডার ট্যাগে ওয়ার্ডপ্রেস জেএসএন এপিআই লিঙ্কগুলি কীভাবে সরিয়ে ফেলতে হয় কেউ জানেন?

<head>
...
<link rel='https://api.w.org/' href='http://example.com/wp-json/' />
<link rel="alternate" type="application/json+oembed" href="http://example.com/wp-json/oembed/1.0/embed?url=..." />
<link rel="alternate" type="text/xml+oembed" href="http://example.com/wp-json/oembed/1.0/embed?url=..." />
</head>

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

remove_action( 'wp_head', 'rsd_link' );

উত্তর:


30

আমি filters.php মধ্যে "ADD_ACTION ( 'wp_head', 'rest_output_link_wp_head', 10, 0)" করে তোলে আমাকে মনে কৌতুক মুছে ফেলার জন্য কি করা উচিত দেখতে rel='https://api.w.org/'

remove_action( 'wp_head',      'rest_output_link_wp_head'              );

বাকি ... * কাশি * ডিফল্ট-ফিল্টার.এফপিতে মনে হচ্ছে

remove_action( 'wp_head',      'wp_oembed_add_discovery_links'         );

বিশ্রামআউটপুট_লিংক_হেডার অপসারণ করতে

remove_action( 'template_redirect', 'rest_output_link_header', 11 );

উল্লেখ


1
ধন্যবাদ তবে এটি api.w.orgআমার জন্য লিঙ্কটি সরিয়ে দেয় না ।
IXN

তাদের সকলের চেষ্টা করেও, কিন্তু api.w.org শিরোনামটি কুঁচকে যাবে না! এটি আর সাম্প্রতিক ওয়ার্ডপ্রেস সংস্করণগুলিতে কাজ করবে বলে মনে হয় না।
প্রহ্লাদ ইয়েরি

1
ঠিক আছে, এটা কাজ! দেখা যাচ্ছে আপনাকে এটিকে থিমের মধ্যে রাখতে হবে function.php। আমি এটি আমার কাস্টম প্লাগইনে রাখার চেষ্টা করছিলাম যাতে এটি সমস্ত থিমের জন্য কাজ করে তবে দৃশ্যত এটি কার্যকর হয় না।
প্রহ্লাদ ইয়েরি

26

এই কাস্টম ফাংশনটি শিরোনাম এবং পাদলেখের সমস্ত লিঙ্ক সরিয়ে ফেলাতে সহায়তা করবে - আপনি এটি functions.phpআপনার সক্রিয় থিমের ফাইলের ভিতরে রাখতে পারেন ;

function remove_json_api () {

    // Remove the REST API lines from the HTML Header
    remove_action( 'wp_head', 'rest_output_link_wp_head', 10 );
    remove_action( 'wp_head', 'wp_oembed_add_discovery_links', 10 );

    // Remove the REST API endpoint.
    remove_action( 'rest_api_init', 'wp_oembed_register_route' );

    // Turn off oEmbed auto discovery.
    add_filter( 'embed_oembed_discover', '__return_false' );

    // Don't filter oEmbed results.
    remove_filter( 'oembed_dataparse', 'wp_filter_oembed_result', 10 );

    // Remove oEmbed discovery links.
    remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );

    // Remove oEmbed-specific JavaScript from the front-end and back-end.
    remove_action( 'wp_head', 'wp_oembed_add_host_js' );

   // Remove all embeds rewrite rules.
   add_filter( 'rewrite_rules_array', 'disable_embeds_rewrites' );

}
add_action( 'after_setup_theme', 'remove_json_api' );

এবং এই স্নিপেটটি REST এপিআইকে সম্পূর্ণরূপে অক্ষম করে এবং আপনি যখন দেখেন নীচের সামগ্রীটি দেখায় http://example.com/wp-json/, তখন example.comএটি ছিল আপনার ওয়েবসাইটের ডোমেন নাম;

{"code":"rest_disabled","message":"The REST API is disabled on this site."}

ওয়ার্ডপ্রেস REST এপিআই অক্ষম করতে, নীচের স্নিপেট ব্যবহার করুন;

function disable_json_api () {

  // Filters for WP-API version 1.x
  add_filter( 'json_enabled', '__return_false' );
  add_filter( 'json_jsonp_enabled', '__return_false' );

  // Filters for WP-API version 2.x
  add_filter( 'rest_enabled', '__return_false' );
  add_filter( 'rest_jsonp_enabled', '__return_false' );

}
add_action( 'after_setup_theme', 'disable_json_api' );

wp_oembed_add_discovery_linksমাথা থেকে দু'বার আলাদা অগ্রাধিকার দিয়ে অপসারণ করা কি এটি টাইপো?
ব্রায়ান উইলিস

এছাড়াও disable_json_api()যদি সর্বশেষতম ওয়ার্ডপ্রেস ব্যবহার করে আমরা কেবল 2.x সংস্করণ সংস্করণ অন্তর্ভুক্ত করতে পারি বা উভয়ই প্রয়োজন?
ব্রায়ান উইলিস

3
কাস্টম ফাংশনটি ফাংশনটি অনুপস্থিত disable_embeds_rewrites। সম্পূর্ণ উত্স github.com/swissspidy/disable-embeds/blob/master/… এ পাওয়া যাবে
ছকড়া

@ ড্রাকস হ্যাঁ, আপনি ঠিক বলেছেন। এটি হারিয়ে যাচ্ছে কারণ গত বছর পোস্ট হওয়ার পরে এই কোডটি আপডেট হয়নি। পরিবর্তে অন্যদের এখানে সহায়তা করার জন্য উপরের স্নিপেটটি সংশোধন / আপডেট করবেন না কেন? এটি সহায়ক এবং সহজ হবে;)
জেন্টান বার্নার্ডাস

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