2012-09-17 9 views
7

Nie jestem pewien, czy napisałem poprawnie, ale zasadniczo chciałem załadować wtyczkę CSS/JS tylko na stronach, które używają rzeczywistych wtyczek .. Mam dużo zrobione przez szukaj thru plików plugin do jakichkolwiek uchwytów stosowanych w wp_enqueue_script ciągu wtyczek i po prostu wp_dequeue_script im w functions.phpwordpress nie może zdjąć skryptu/stylu, który ma zapytanie

jednak istnieją pewne kolejkuje o stylu, które zawierają .php a nie plik CSS, np .. w wtyczka to kolejkuje plik

wp_enqueue_style("myrp-stuff", MYRP_PLUGIN_URL . "/myrp-hotlink-css.php"); 

więc próbowałam:

wp_dequeue_style('myrp-stuff'); 
wp_deregister_style('myrp-stuff'); 

To nie działa

Jednak gdy strona/post staje się to pokazuje jak

<link rel='stylesheet' id='myrp-stuff-css' href='http://www.modernlogic.co/wp/wp-content/plugins/MyRP/myrp-hotlink-css.php?ver=3.4.2' type='text/css' media='all' /> 

To dodaje, -css do id i odmawia dequeue/wyrejestrowania i być przeniósł.

Próbowałem również następujące bez powodzenia

wp_dequeue_style('myrp-stuff-css'); 
wp_deregister_style('myrp-stuff-css'); 

sugestie?

+0

Chciałbym, jeśli ktoś mógłby mi w tym pomóc :-( –

Odpowiedz

8

Wystarczy, aby mieć pewność, masz umieszczony kod wewnątrz funkcji zwanej przez działanie jak to ?:

add_action('wp_enqueue_scripts', 'dequeue_function'); 
function dequeue_function() { 
    wp_dequeue_style(array('myrp-stuff', 'myrp-stuff-css')); 
    wp_deregister_style(array('myrp-stuff', 'myrp-stuff-css')); 
} 
13

skrypty i style można skolejkowany w dowolnej kolejności iw dowolnym czasie przed wyzwalane są wp_print_* działania. Co może utrudnić usunięcie ich z kolejki przed wydrukowaniem.

Aby zapewnić stałą pracę kolejki, należy ją konsekwentnie podłączać do wp_print_styles lub wp_print_scripts z wysokim priorytetem, ponieważ spowoduje to usunięcie skryptów i stylów tuż przed wyjściem.

Na przykład w kodzie ładowarki wtyczki lub szablonu functions.php plik można mieć haka funkcji i działania takiego:

function remove_assets() { 
    wp_dequeue_style('myrp-stuff'); 
    wp_deregister_style('myrp-stuff'); 
} 
add_action('wp_print_styles', 'remove_assets', 99999); 

Ustawianie wysokiego priority (trzeci argument add_action) podczas podpinania do działania pomogą upewnij się, że wywołanie zwrotne nazywane jest last, tuż przed wydrukowaniem skryptów/stylów.

Uwaga, podczas gdy ta technika jest zasadne usuwania skrypty/style to should't być wykorzystywane do dodanie aktywa. Zobacz ten numer: Wordpress Core blog post, aby uzyskać więcej informacji.

+0

Woh, dzięki leepowers, miałem problemy z usuwaniem skryptów wiele razy ... to naprawdę załatwiło sprawę! – Adal

+0

Rozwiązany problem również dla mnie. + 1 – Hoshts

+0

Zawdzięczam Ci piwo, @leepowers – cabgfx

Powiązane problemy