Я только что установил плагин wptouch для автоматического создания моего блога на мобильных устройствах. Как я могу стирать определенный элемент на моей странице, чтобы быть скрытым, когда это представление активно?
Т.е., в частности, в моем блоге Under My Hat у меня есть плагин WP Follow Me, который ведет себя довольно раздражающе на мобильных устройствах, поэтому я хотел бы скрыть это. Но другие элементы – это пользовательские таблицы и примеры исходного кода, которые я хотел бы по-разному ставить.
Я использую следующий код, чтобы вторгаться в WPTouch, пока не куплю лицензию 🙂
Лучше, чем просто скрывать другие плагины, отключает все, что вы можете от него.
И посетитель получает меньше (и ненужных) элементов для загрузки на своем устройстве.
insert_scripts
довольно прямолинейны, приспосабливаются к вашим потребностям.
remove_scripts
я сделал от быстрого анализа кода Follow Me .
Чтобы проверить, действительно ли вы избавились от скриптов плагина, проверьте использование Safari с помощью своего монитора Activity Monitor и User Agent (он идеально подходит для Mac, Donnow in Wins).
edit : мой исходный / рабочий скрипт имеет эти вызовы внутри
remove_scripts
:remove_action('wp_head', 'add_css'); wp_deregister_script( 'jqplot' );
И прямо сейчас, перечитав этот ответ, я думаю, что
add_action('wp_head','function');
используется дляremove_action('init','function');
может быть неправильным , был бы рад получить экспертную оценку …
<?php /* Plugin Name: WPTouch Retouch Plugin URI: https://wordpress.stackexchange.com/q/52026/12615 Description: Add custom scripts to enhance WPTouch and remove WP Follow Me scripts Version: 1.0 */ add_action('init', 'wpse_52026_process_wptouch'); function wpse_52026_process_wptouch(){ if (function_exists('bnc_wptouch_is_mobile')) { if(bnc_wptouch_is_mobile()) { add_action('wp_head', 'wpse_52026_remove_plugin_scripts', 1); add_action('wp_head', 'wpse_52026_insert_wptouch_scripts'); } } } function wpse_52026_remove_plugin_scripts() { remove_action('init', 'wp_followme_scripts'); remove_action('init', 'followme_admin_warnings'); remove_action('wp_head', 'wp_followme_css'); remove_action('get_footer', 'show_followme'); //wp_deregister_script( 'if-there-were-a-registered-script' ); } function wpse_52026_insert_wptouch_scripts() { $today = 'Valencia : Spain : '. date("d/m/Y"); echo <<<HTML <style type="text/css"> body {background:url('http://img.wordpressask.com/twitter/pattern.png') fixed !important;} </style> <script type="text/javascript"> jQuery(document).ready( function($) { $("div.content").prepend('<div style="margin-left: 13px;"><h4>Site Description</h4><small>{$today}</small></div>'); }); </script> HTML; }
Внимание к синтаксису PHP Heredoc <<<HTML
[важное обновление]
Когда я впервые ответил, я забыл о важной части: это должно работать как плагин .
Очевидно, что ввод кода в тему рабочего стола functions.php
не выполняет эту работу. И взломать другие плагины – это своего рода лаваш : при каждом обновлении вам нужно снова взломать …
[ссылки на стили и сценарии других плагинов] https://wordpress.stackexchange.com/a/40833/12615
Можно ли остановить выбранные плагины от загрузки на определенных страницах шаблона?
Как удалить сценарий?
https://wordpress.stackexchange.com/a/27983/12615
https://wordpress.stackexchange.com/a/13331/12615