为什么这个php函数不执行?

真实性

以下是php文档的一部分,其中包含一些条件。第一个(如果是事实的话)将匿名函数存储在一个变量中$the_image_styles,该变量在以后成功调用了几行。第二个(如果是事实的话)将匿名函数存储在一个变量中$the_overlay_styles,该变量永远不会随后执行。

WordPress输出以下内容:调用未定义的函数the_overlay_styles()

在我看来,这两个声明/调用之间没有区别,但显然并非如此。我想念什么?

<?php
$banner = get_field('banner_image');
// Check for image
if ($banner) :
    $xpos = get_field('banner_xpos');
    $ypos = get_field('banner_ypos');
    // Style string for background image
    $the_image_styles = function() use ($banner, $xpos, $ypos){
        echo "background-image:url({$banner['sizes']['large']}); background-position:{$xpos} {$ypos}";
    };
    // Check for overlay, for later use
    $has_overlay = get_field('has_banner_overlay');
?>

    <!-- Article header with banner -->
    <header style="<?php $the_image_styles(); ?>"> <<-- This function call works

        <?php
        if ($has_overlay) :
            $banner_colour  = get_field('banner_colour');
            $banner_opacity = number_format( get_field('banner_opacity') / 100, 2 );
            // Style string for imageoverlay
            $the_overlay_styles = function() use ($banner_colour, $banner_opacity){
                echo "background:{$banner_colour}; opacity:{$banner_opacity}";
            };
        ?>

        <div style="<?php the_overlay_styles(); ?>"></div> <<-- This call never executes
        <?php endif; ?>
        <h1><?php the_title(); ?></h1>
    </header>


<?php else: ?>
jsbody

您正在定义一个$the_overlay_styles variable,它引用一个闭包。打电话给你,你会做的$the_overlay_styles();

但是不要。只需将其定义为正常功能即可:

function the_overlay_styles() {

您知道什么,甚至不要这样做。只需在这里创建一个变量!少得多的混乱。

$the_overlay_styles = "background: $banner_colour; opacity: $banner_opacity";

现在,您可以echo $the_overlay_styles在需要时使用它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么这个Clojure函数不执行?

来自分类Dev

为什么不执行这个 printf 语句

来自分类Dev

为什么函数 Javascript 不执行?

来自分类Dev

为什么这个简单的Scala理解不执行期货?

来自分类Dev

为什么这个awk命令不执行完整的外部联接?

来自分类Dev

为什么我在执行 Postgres 函数时收到这个错误

来自分类Dev

为什么这个简单的函数不返回值?

来自分类Dev

为什么这个函数调用在 Elixir 中不匹配?

来自分类Dev

为什么这个简单的 PHP 不返回响应?

来自分类Dev

当值大于时,为什么不执行我的jQuery函数?

来自分类Dev

为什么此Python函数执行后不释放内存?

来自分类Dev

为什么Node.js不执行回调函数?

来自分类Dev

为什么不执行该函数的else节?

来自分类Dev

为什么克隆时不执行构造函数

来自分类Dev

为什么 Kotlin Lambda 函数在调用时不执行?

来自分类Dev

执行任务的角函数我不知道为什么是这个函数

来自分类Dev

在我的React应用中,为什么不执行这个Redux reducer?

来自分类Dev

为什么这个函数什么都不返回?

来自分类Dev

.vimrc为什么不执行?

来自分类Dev

为什么不执行语句

来自分类Dev

.vimrc为什么不执行?

来自分类Dev

为什么不执行 LoggingFilter?

来自分类Dev

为什么这个GUI不更新?

来自分类Dev

为什么这个半圈不增长?

来自分类Dev

为什么这个角度值不更新?

来自分类Dev

为什么这个while循环不终止?

来自分类Dev

为什么这个形状不填充()?

来自分类Dev

为什么这个角度值不更新?

来自分类Dev

为什么这个矩形不旋转?