WordPress - ładowanie skryptów przez functions.php

Mam motyw potomny w WordPressie, aby nie nadpisało zmian, które wprowadzam.

Problem jest plik functions.php.

W oryginalnym pliku jest:

wp_enqueue_script( 'oria-fitvids', get_template_directory_uri() . '/js/jquery.fitvids.js', array('jquery'), true );

wp_enqueue_script( 'oria-slicknav', get_template_directory_uri() . '/js/jquery.slicknav.min.js', array('jquery'), true );

wp_enqueue_script( 'oria-parallax', get_template_directory_uri() . '/js/parallax.min.js', array('jquery'), true );

wp_enqueue_script( 'oria-scripts', get_template_directory_uri() . '/js/scripts.js', array('jquery'), true );

wp_enqueue_script( 'oria-imagesloaded', get_template_directory_uri() . '/js/imagesloaded.pkgd.min.js', array( 'jquery', 'masonry' ), true );

wp_enqueue_script( 'oria-masonry-init', get_template_directory_uri() . '/js/masonry-init.js', array( 'jquery' ), true );

Nie wszystkie skrypty będą wykorzystywane, wiec ich ładowanie jest zbędne. Czy ktoś wie co mam dodać do pliku functions.php w motywie potomnym aby się pozbyć konkretnych skryptów ?

Normalnie to bym wykasował z oryginalnego motywu co zbędne, ale chce to zrobić z motywu potomnego.

  1. Nadpisać funkcję ładującą skrypty.
  2. Usunąć skrypty przy pomocy script_id (wp_dequeue_script();)

@Fizyda próbowałem kilkanaście razy, kilkanaście różnych kombinacji…

Konkretnie można prosić ?

EDIT
Aby nie było, że nie próbowałem :wink:

    function wpdocs_dequeue_script() {
       wp_dequeue_script( 'oria-parallax' );
    }
    add_action( 'wp_print_scripts', 'wpdocs_dequeue_script', 100 );

EDIT 2
Udało się ale połowicznie @Fizyda
Skrypty znikają z kodu strony, ale strona się rozlatuje a na 100% dany JS nie jest potrzebny.

Pokaż jak funkcja jest zadeklarowana w motywie bazowym. Jak nie ma tam if’a z function_exists to pierwszy sposób nie zadziała bo motyw jest nie do końca dobrze napisany z dobrymi praktykami WP.

Jak chodzi o drugi edit to nie wiem, nie widzę strony, nie wiem co i jak zrobiłeś, nie będę próbował zgadywać. Wróżbitą tez nie jestem więc nie mam Ci jak pomóc.

@Fizyda functions.zip (3,7 KB)

Sorry ale nie…

?? ?? nie rozumiem.

Nie mam zamiaru pobierać pliku tekstowego zapakowanego w zip.

Poza tym po co mi cały plik z kilkoma set linijkami jak prosiłem o deklarację jednej funkcji, a do tego napisałem na co zwrócić uwagę i sam mogłeś napisać czy jest jak napisałem czy nie.

@anon72825314 możesz wyrejstrować akcję, który rejestruje te skrypty i zarejestrować nowego :slight_smile:
remove_action(‘wp_enqueue_scripts’, ‘oria_scripts’);

@Fizyda usunięcie nawet linijki za dany skrypt (w głównym motywie) powoduje rozwalenie strony.To wygląda tak jak by każdy skrypt MUSIAŁ być… dziwne.
Na samym początku głównego motywu (nie dziecka) pliku functions.php jest

if ( ! function_exists( 'oria_setup' ) ) :

natomiast ładowanie skryptów przez

	wp_enqueue_script( 'oria-fitvids', get_template_directory_uri() . '/js/jquery.fitvids.js', array('jquery'), true );
	wp_enqueue_script( 'oria-slicknav', get_template_directory_uri() . '/js/jquery.slicknav.min.js', array('jquery'), true );
	wp_enqueue_script( 'oria-parallax', get_template_directory_uri() . '/js/parallax.min.js', array('jquery'), true );
	wp_enqueue_script( 'oria-scripts', get_template_directory_uri() . '/js/scripts.js', array('jquery'), true );
	wp_enqueue_script( 'oria-imagesloaded', get_template_directory_uri() . '/js/imagesloaded.pkgd.min.js', array( 'jquery', 'masonry' ), true );
	wp_enqueue_script( 'oria-masonry-init', get_template_directory_uri() . '/js/masonry-init.js', array( 'jquery' ), true );

kod zaczyna się od

function oria_scripts()

@p.spaczek próbowałem na różne sposoby i nadal jest łądowany, ale jak wyżej pisałem… “odkryłem”, że usunięcie kodu ładującego skrypt nawet z głównego pliku functions.php wysypuje wygląd strony.

W takim wypadku, że stworzysz w motywie potomny funkcję oria_setup i w niej zrobisz to co w motywie bazowym wywalając to czego nie chcesz. Aha tylko musisz pamiętać o pobraniu ścieżek do skryptów zlokalizowanych w motywie bazowym.

Czemu się strona wysypuje po wywaleniu skryptu to już pisałem - nie jestem w stanie tego zgadnąć.