Откуда $ комментарии комментариев. php откуда? - PullRequest
0 голосов
/ 04 марта 2020

У меня есть 2 вопроса

  1. Мне интересно, откуда $ комментариев (в foreach комментариев. php), откуда?

    Даже я думаю, что это $ comments отличается от $ GLOBALS ['comment'] в функции. php

  2. А также тогда Какова цель $ GLOBALS ['comment'] Поскольку $ comment (в функции. php) используется только внутри функции (my_comment_list)?

комментарии. php

<div id="comment-area">
    <?php if( have_comments() ): ?>
        <?php 
            $args=array(
                'type'=> 'comment',
                'callback'=>'my_comment_list',
            );
        ?>
        <ol class="comments-list">
            <?php wp_list_comments($args); ?>
        </ol>           
        <?php
            $str = '<ol class=" id="custom-trackback">';
            foreach($comments as $comment){
                    $str .= '<li class="clearfix" id="comment-'.get_comment_ID().'" >';
                    $comment_author_url=$comment->comment_author_url;
                    .
                    .
                    .
        ?>
</div>

функция. php

<?php
    function my_comment_list($comment,$args,$depth){
    $GLOBALS['comment']=$comment;

?>
<li id="comment-<?php comment_ID();?>">
    <div class="clearfix">
            <?php echo get_avatar($comment->comment_author_email,65)?>
            .
            .
            .
<?php 
}
?>

1 Ответ

0 голосов
/ 04 марта 2020

$GLOBALS - это массив, содержащий всех ваших глобальных переменных . Когда вы вызываете функцию my_comment_list() в этом коде, вы устанавливаете локальную переменную $comments и затем назначаете ее для global scope ( с $GLOBALS['comments'] = $comments).

В следующем коде вы получите тот же результат ...

function foo($bar) {
    $GLOBALS['bar'] = $bar;
}

echo $bar; // gives you an undefined variable error

foo("Hello World");

echo $bar; // gives you Hello World
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...