Jak wyłączyć osadzanie w WordPressie bez użycia wtyczki
Objaśnienie
Jeśli chcesz zatrzymać WordPress przed automatycznym osadzaniem treści, takiej jak filmy czy tweety, ten fragment kodu jest idealnym rozwiązaniem. Oto, co robi:
- Wyłącza odkrywanie oEmbed: Zapobiega automatycznemu znajdowaniu i osadzaniu treści z adresów URL, które wklejasz do swoich postów.
- Usuwa JavaScript oEmbed: Usuwa JavaScript, którego WordPress używa do obsługi tych osadzeń, zarówno na froncie (co widzą odwiedzający), jak i w zapleczu (gdzie edytujesz swoją stronę).
- Usuwa zasady przepisywania osadzeń: Pozbywa się wszelkich zasad URL, które WordPress wykorzystuje do obsługi osadzeń, zapewniając, że nie wrócą one z powrotem.
- Wyłącza oEmbed w TinyMCE: Usuwa funkcjonalność osadzania z edytora WordPress, dzięki czemu nie dodasz przypadkowo osadzeń podczas edytowania.
- Wyłącza automatyczne osadzanie w treści: Zatrzymuje WordPress przed automatycznym osadzaniem treści, gdy wklejasz adres URL bezpośrednio do treści swojego posta.
Dodając ten kod do pliku functions swojego motywu, skutecznie wyłączasz automatyczne funkcje osadzania WordPressa, zyskując większą kontrolę nad tym, co pojawia się na Twojej stronie. Pamiętaj, że to nie usuwa istniejących osadzeń; po prostu zatrzymuje dodawanie nowych automatycznie.
Kod
<?php
// Function to disable WordPress embeds
function wp_dudecom_disable_embeds() {
// Remove the REST API endpoint for oEmbed
remove_action('rest_api_init', 'wp_oembed_register_route');
// Turn off oEmbed auto discovery
add_filter('embed_oembed_discover', '__return_false');
// Remove oEmbed-specific JavaScript from the front-end and back-end
remove_action('wp_head', 'wp_oembed_add_discovery_links');
remove_action('wp_head', 'wp_oembed_add_host_js');
// Remove all embeds rewrite rules
add_filter('rewrite_rules_array', 'wp_dudecom_disable_embeds_rewrites');
// Remove oEmbed from TinyMCE
add_filter('tiny_mce_plugins', 'wp_dudecom_disable_embeds_tinymce');
// Remove oEmbed from the content filter
remove_filter('the_content', array($GLOBALS['wp_embed'], 'autoembed'), 8);
}
// Function to remove embeds rewrite rules
function wp_dudecom_disable_embeds_rewrites($rules) {
foreach ($rules as $rule => $rewrite) {
if (false !== strpos($rewrite, 'embed=true')) {
unset($rules[$rule]);
}
}
return $rules;
}
// Function to remove oEmbed from TinyMCE
function wp_dudecom_disable_embeds_tinymce($plugins) {
return array_diff($plugins, array('wpembed'));
}
// Hook the function to init
add_action('init', 'wp_dudecom_disable_embeds', 9999);
?>
Instrukcja
Aby wyłączyć osadzanie w WordPressie za pomocą podanego kodu, wykonaj następujące kroki:
Lokalizacja pliku: functions.php w katalogu aktywnego motywu.
Wymagania wstępne:
- Upewnij się, że masz dostęp do plików motywu WordPress, zarówno przez FTP, jak i przez menedżera plików w panelu sterowania hostingu.
- Miej podstawową wiedzę na temat edytowania plików PHP.
Kroki wdrożenia:
- Zaloguj się do panelu administracyjnego WordPress.
- Przejdź do Wygląd > Edytor motywu. Jeśli nie widzisz tej opcji, być może będziesz musiał uzyskać dostęp do swoich plików przez FTP lub panel sterowania hostingu.
- W Edytorze motywu znajdź plik functions.php w prawym pasku bocznym pod Pliki motywu.
- Kliknij na functions.php, aby otworzyć go do edycji.
- Przewiń na dół pliku i wklej podany fragment kodu.
- Kliknij Aktualizuj plik, aby zapisać zmiany.
- Wyczyść pamięć podręczną swojej witryny, jeśli masz włączoną wtyczkę do buforowania, aby zmiany zaczęły obowiązywać natychmiast.
Postępując zgodnie z tymi krokami, wyłączysz automatyczne funkcje osadzania w WordPressie, zyskując większą kontrolę nad treścią swojej witryny. Jeśli potrzebujesz pomocy przy wdrożeniu lub wymagasz bardziej zaawansowanej funkcjonalności, rozważ skontaktowanie się z wp-dude.com w celu uzyskania fachowej pomocy.