Я написал шаблон страницы PHP и хотел бы связать необходимый Javascript из внешнего файла. Однако, когда я делаю это, я получаю синтаксическую ошибку: Uncaught SyntaxError: Unexpected token < ссылается на заголовок типа документа <!DOCTYPE html>. Если я помещаю скрипт в PHP-файл напрямую, он работает.

Очевидно, это делает мой файл грязным, так как я могу сделать это, не нарушая сценарий? Кроме того, поскольку этот скрипт нужен только на одной странице, я не хочу помещать его в нижний колонтитул для загрузки на весь сайт.

Я пытался использовать <script type="text/javascript" src="staff-test.js"></script> в своем файле PHP для ссылки на файл JS, но безуспешно. Файлы PHP и JS находятся в одной папке, поэтому путь src представляется правильным.

PHP:

<?php

    get_header();

    include('staff-test.css');
?>

<div class="page-wrap">  
  // my content
</div>

<script type="text/javascript" src="staff-test.js"></script>



<?php 
    get_footer();

Используя этот код, я получаю синтаксическую ошибку. Я хотел бы сохранить JS в отдельном файле, но, кажется, работает только тогда, когда я помещаю его непосредственно в файл PHP.

0
Iisrael 30 Апр 2019 в 16:53

3 ответа

Лучший ответ

Попробуй это

<?php
    get_header();
?>
<link rel="stylesheet" type="text/css" href="<?php echo get_stylesheet_directory_uri(); ?>/staff-test.css"> 

<div class="page-wrap">  
  // my content
</div>

<script type="text/javascript" src="<?php echo get_stylesheet_directory_uri(); ?>/staff-test.js"></script>



<?php 
    get_footer();
?>
0
Vel 30 Апр 2019 в 14:13

Используя include('staff-test.css'), вы просите веб-сервер интерпретировать файл CSS как PHP. Вот почему вы получаете синтаксическую ошибку.

Вы хотите сделать вместо этого:

<link rel="stylesheet" type="text/css" href="staff-test.css"> 
1
Andrei Savin 30 Апр 2019 в 13:55

Возможно, вам придется зарегистрировать скрипт в вашем файле функций. Проверьте ссылку на WordPress для регистрации скрипта.

https://developer.wordpress.org/reference/functions/wp_register_script/

0
M_Becker 30 Апр 2019 в 14:18