Найефективніший спосіб додати файл JavaScript до певної публікації та / або сторінок?


17

Мені цікаво, який найефективніший метод - це додавання файлу javascript спеціально для публікації та / або сторінки.

Ось декілька рішень, які я придумав:

  • Перейдіть до перегляду HTML редагування та опублікуйте свій JavaScript там (досить погане рішення)
  • Спеціальні поля із специфічним JavaScript для цієї публікації / сторінки в парах ключів і значень
  • У footer.php завантажуйте файли JavaScript залежно від того, на якій сторінці ви перебуваєте (однак це призводить до безлічі умов)

Зі сторони, жоден з файлів JavaScript не поділиться між сторінками - він буде буквально специфічний для того, що ви переглядаєте.

Будь-які думки?


Мета поля / користувацькі поля - ваш найкращий варіант
Miha Rekar

Як би ви визначили ефективність?
fuxia

1
Під "ефективним" я маю на увазі найменшу кількість надмірності коду та найефективніший спосіб зробити це спеціально для однієї публікації / сторінки.
спортивні перевезення

Відповіді:


30

Я думаю, що найкращим балансом між ефективністю та використанням правильних методів Wordpress для додавання javascript буде додавання чогось у цьому напрямку до вашого файлу themes.php. Наприклад:

function.php:

function load_scripts() {
    global $post;

    if( is_page() || is_single() )
    {
        switch($post->post_name) // post_name is the post slug which is more consistent for matching to here
        {
            case 'home':
                wp_enqueue_script('home', get_template_directory_uri() . '/js/home.js', array('jquery'), '', false);
                break;
            case 'about-page':
                wp_enqueue_script('about', get_template_directory_uri() . '/js/about-page.js', array('jquery'), '', true);
                break;
            case 'some-post':
                wp_enqueue_script('somepost', get_template_directory_uri() . '/js/somepost.js', array('jquery'), '1.6', true);
                break;
        }
    } 
}

add_action('wp_enqueue_scripts', 'load_scripts');

Це дає вам повний контроль над тим, що завантажується куди, централізоване розташування у ваших темах function.php-файл для редагування того, що завантажується куди: і, таким чином, використовуються методи wordpress для безпечного додавання javascript у ваші повідомлення та сторінки .


1
Приємна маленька функція. Ви маєте рацію про те, що корисно мати «централізоване місцезнаходження». Дякую купу.
спортивні перевезення

3
Я думаю, це можна трохи прибрати. Ви в основному перевіряєте одне й те саме за допомогою двох різних корпусів комутаторів. Я б сказав, поєднайте обидва випадки перемикання, і умовні, якщо це можливо if (is_page() || is_single()). Як ти думаєш, Бен?
спортивні перевезення

Мені це звучить як поліпшення. Хороший!
Бен ХартЛенн

@Ben це function.php одна всередині теми чи в wp- включенні ? мій заголовок сторінки Доступ до дому Інтернету і я поставив вашу функцію changeing homeдо Access to Home Onlineале він не працює?
Ciasto piekarz

@Ciastopiekarz Я оновив свою відповідь, щоб краще показати, що код входить у ваш файл themes.php.
Бен ХартЛенн

2

Що я б робив, це або розміщувати в нижньому колонтитулі або в заголовку і використовувати умовні умови php.

Наприклад:

<?php if (is_page ('your-page')){?>

  <script type="text/javascript" src"the file path"></script>

<?php } elseif ( is_page ('another')){?>

  <script type="text/javascript" src"the file path"></script>

<?php } else { ?>

  <script type="text/javascript" src"the file path"></script>

<?php } ?>

Таким чином, ваш не всі виклики сценаріїв весь час завантажуються на кожну сторінку, а ви лише виклику тих, що вам потрібні.

Ось посилання на кодекс Wordpress http://codex.wordpress.org/Conditional_Tags

А якщо у вас є спеціальні сценарії, які, можливо, потрібно буде викликати лише за поштою, використовуйте спеціальні поля.


Дякую Ніколь - це було №3. Це гідне рішення, враховуючи, що я не матиму багато сторінок ... все ще розглядаю.
спортивні перевезення

Наведені вище вміння можуть використовуватись з різними елементами кодексу wordpress, такими як: is_categories, is_single (для публікацій), is_post_type ... У своїй відповіді вище я додав посилання на умовний список wordpress.
Ніколь

0

Інший тестований спосіб нижче - додавати на сторінку безпосередньо з редактора, а також додавати коментарі з тегом скрипта, іншим розумним він не працюватиме.

<script type="text/javascript">
<!--
var a = 5;
alert("hello world. The value of a is: " + a);
-->
</script>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.