Я пытаюсь реализовать рекламный блок taboola в функции shortcode, но я получаю синтаксическую ошибку. Ниже приведена функция, которая создает короткий код. Код находится в моем файле functions.php.
Может кто-то, пожалуйста, помогите мне выяснить, «почему» я получаю ошибку и помогу мне исправить ее?
/** * in article placement */ function contentMid(){ return '<div id="xxxx-xxxxxx"></div> <script type="text/javascript"> window._taboola = window._taboola || []; _taboola.push({ mode: 'xxxxxxx-xxxxx', container: 'xxxxxx-xxxxxxx', placement: 'one word word', target_type: 'mix' }); </script>'; } add_shortcode('contentMid', 'contentMid');
Вам нужно сбежать от своих котировок или использовать удвоение или использовать heredoc :
// Escaped return '<div id="xxxx-xxxxxx"></div> <script type="text/javascript"> window._taboola = window._taboola || []; _taboola.push({ mode: \'xxxxxxx-xxxxx\', container: \'xxxxxx-xxxxxxx\', placement: \'one word word\', target_type: \'mix\' }); </script>'; // Doubles return '<div id="xxxx-xxxxxx"></div> <script type="text/javascript"> window._taboola = window._taboola || []; _taboola.push({ mode: "xxxxxxx-xxxxx", container: "xxxxxx-xxxxxxx", placement: "one word word", target_type: "mix" }); </script>'; // Heredoc return <<<html <div id="xxxx-xxxxxx"></div> <script type="text/javascript"> window._taboola = window._taboola || []; _taboola.push({ mode: "xxxxxxx-xxxxx", container: "xxxxxx-xxxxxxx", placement: "one word word", target_type: "mix" }); </script> html;