PHP全局变量未传递给函数



我在页脚中有以下一块wordpress代码,但它不起作用,因为全局变量没有传递给函数。为什么?

function output_nav_link( $left ) {
global $template_directory_uri_images, $current_page_menu_order, $nav_menu_items, $menu_items_count;
$enabled = $left ? $current_page_menu_order > 1 : $current_page_menu_order < $menu_items_count;
$output_link = '';
$output_text = '';
if ($enabled) {
$nav_menu_item = $nav_menu_items[$current_page_menu_order - 1];
$output_link = 'href="' . $nav_menu_item->url  . '"';
$output_text = $nav_menu_item -> title;
}
?>
<div>
<img src="<?= $template_directory_uri_images?>strelica_<?= $left ? 'lijevo' : 'desno'?>.svg" alt="<?= $left ? 'Prethodna' : 'Sljedeća'?> stranica">
<div>
<a <?= $output_link ?>><?= $output_text?></a>
</div>
</div>
<?php
}

$template_directory_uri_images = get_template_directory_uri() . '/assets/images/';
$current_page_menu_order = get_post()->menu_order;
$nav_menu_items = wp_get_nav_menu_items('bocni');
$menu_items_count = count($nav_menu_items);

编辑:这似乎是一个与我的本地配置有关的问题,该配置是wampserver、Apache 2.4.46和PHP 7.4.10

Global不会使变量成为全局变量。

Global表示,将使用局部变量,就好像它是具有更高作用域的变量一样。

有关更多信息:php中的全局变量未按预期工作

最新更新