Функция PHP (добавить HTML в тему) не работает - PullRequest
0 голосов
/ 25 февраля 2019

это мой код (в файле comment.php):

<?php $args = array(
    'comment_field' =>
        '<div class="comment-form-comment">
            <div class="comment-form-emoji-icon">
                <img src="'.get_bloginfo('template_url').'/Image/emoji.png" onclick="invertShowEmojiList()">
                <div class="comment-form-emoji-list" id="ID_EmojiList">'.
                    showAllEmoje() .
                '</div>
            </div>
            <textarea id="comment" name="comment" cols="45" rows="4" required placeholder="دیدگاه شما..." ></textarea>
        </div>',
);

comment_form( $args ); ?>

и я определяю функцию "showAllEmoje" (в файле function.php)

function showAllEmoje() {
    $dirname = get_bloginfo('template_url').'/Image/emoji/';
    $images = glob($dirname."*.gif");
    foreach($images as $image) {
        echo '<img src="'.$image.'" onclick="add_emojiCode_to_coment_textAria(\'[:'.$image.':]\');" >';
    }
};

но эта функция(showAllEmoje ()) не работает;

1 Ответ

0 голосов
/ 26 февраля 2019

Echo внутри вашего метода, здесь работать не будет, так как вы объединяете, вы можете сохранить свой результат в массиве и затем использовать return LIKE:

function showAllEmoje() {
    $dirname = get_bloginfo('template_url').'/Image/emoji/';
    $images = glob($dirname."*.gif");
    $imagesArr = array(); // initialize an array
    foreach($images as $image) {
        // store in an array
        $imagesArr[] = '<img src="'.$image.'" onclick="add_emojiCode_to_coment_textAria(\'[:'.$image.':]\');" >';
    }
    return $imagesArr;
};

Затем вызовите ваш методи сохранить его в переменной.

$functionResult = showAllEmoje(); // method calling

Затем вы можете использовать конкатенацию LIKE:

$yourHTML = '<div class="comment-form-comment">
            <div class="comment-form-emoji-icon">
                <img src="'.get_bloginfo('template_url').'/Image/emoji.png" onclick="invertShowEmojiList()">
                <div class="comment-form-emoji-list" id="ID_EmojiList">';

$yourHTML .= implode("<br/>",$functionResult); // using implode() to print

$yourHTML .= '</div>
            </div>
            <textarea id="comment" name="comment" cols="45" rows="4" required placeholder="دیدگاه شما..." ></textarea>
        </div>';

$args = array(
    'comment_field' => $yourHTML        
);

comment_form( $args );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...