Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用于检查函数是否返回HTML标记的条件_Php_Wordpress_Function - Fatal编程技术网

Php 用于检查函数是否返回HTML标记的条件

Php 用于检查函数是否返回HTML标记的条件,php,wordpress,function,Php,Wordpress,Function,我有一个条件语句,如果为true,它将显示一些标记,其中包含一个函数,该函数返回到包含注释的页面的html链接 <?php if( ( $is_comments_pagination == true ) ) { ?> <nav class="pagination"> <?php $args = array( 'prev_text' => '&larr;', 'nex

我有一个条件语句,如果为true,它将显示一些
标记,其中包含一个函数,该函数返回到包含注释的页面的html链接

<?php
if( ( $is_comments_pagination == true ) ) { ?>
    <nav class="pagination">
        <?php
        $args = array(
            'prev_text' => '&larr;',
            'next_text' => '&rarr;',
            'type'      => 'list',
        );
        paginate_comments_links($args);
        ?>
    </nav>
<?php } ?>
这会直接执行函数,如图所示,我也尝试过:

if( ( $is_comments_pagination == true ) && ( isset(paginate_comments_links()) ) ) { ?>

然后,调试器告诉我检查函数是否为null,但函数是否存在-它可能根本不会返回任何内容。

我假设
分页注释链接($args)
将直接
回显
分页内容。 因此,您可以使用将函数的结果放入缓冲区,获取缓冲区内容,然后检查是否为空。 如果要显示某些内容,请将其包装在导航标签之间并显示

if (($is_comments_pagination == true)) {
    $args = array(
        'prev_text' => '&larr;',
        'next_text' => '&rarr;',
        'type'      => 'list',
    );
    ob_start();
    paginate_comments_links($args);
    $content = ob_get_clean();
    if (strlen($content) > 0)) {
        echo "<nav class=\"pagination\">$content</nav>";
    }
}
if($is_comments_pagination==true)){
$args=数组(
“上一个文本”=>“&larr;”,
'下一个文本'=>'&rarr;',
'类型'=>'列表',
);
ob_start();
分页注释链接($args);
$content=ob_get_clean();
如果(strlen($content)>0)){
回显“$content”;
}
}

我假设
对注释链接进行分页($args)
将直接
回显
分页内容。 因此,您可以使用将函数的结果放入缓冲区,获取缓冲区内容,然后检查是否为空。 如果要显示某些内容,请将其包装在导航标签之间并显示

if (($is_comments_pagination == true)) {
    $args = array(
        'prev_text' => '&larr;',
        'next_text' => '&rarr;',
        'type'      => 'list',
    );
    ob_start();
    paginate_comments_links($args);
    $content = ob_get_clean();
    if (strlen($content) > 0)) {
        echo "<nav class=\"pagination\">$content</nav>";
    }
}
if($is_comments_pagination==true)){
$args=数组(
“上一个文本”=>“&larr;”,
'下一个文本'=>'&rarr;',
'类型'=>'列表',
);
ob_start();
分页注释链接($args);
$content=ob_get_clean();
如果(strlen($content)>0)){
回显“$content”;
}
}
有效,但我认为
ob\u start
ob\u get\u clean
是一种肮脏的黑客行为

您可以选择调用
paginate\u comments\u links(数组('echo'=>false))
并且代码不会自动回显内容,HTML作为字符串返回,您可以自己回显。看

if($is_comments_pagination==true)){
$args=数组(
“上一个文本”=>“&larr;”,
'下一个文本'=>'&rarr;',
'类型'=>'列表',
'echo'=>错误
);
$content=paginate_comments_links($args);
如果(strlen($content)>0)){
回显“$content”;
}
}
有效,但我认为
ob\u start
ob\u get\u clean
是一种肮脏的黑客行为

您可以选择调用
paginate\u comments\u links(数组('echo'=>false))
并且代码不会自动回显内容,HTML作为字符串返回,您可以自己回显。看

if($is_comments_pagination==true)){
$args=数组(
“上一个文本”=>“&larr;”,
'下一个文本'=>'&rarr;',
'类型'=>'列表',
'echo'=>错误
);
$content=paginate_comments_links($args);
如果(strlen($content)>0)){
回显“$content”;
}
}

谢谢,我已经尝试过了,它确实很好,这是一个很好的答案,但是我将使用Juan Mendes的解决方案,因为它似乎是一种更干净的方法(因为它只是调整现有的输出)。但无论如何还是要感谢:)感谢我尝试过这个方法,它确实工作得很好,这是一个很好的答案,但是我将使用Juan Mendes的解决方案,因为它似乎是一种更干净的方法(因为它只是调整现有的输出)。不过还是要谢谢你:)我忽略了“回声”的真/假参数,这将很好用-谢谢。是的,确实有点脏。我还没有检查有关
paginate\u comments\u links
功能的文档,我匆忙地假设它会响应分页(遗憾的是,我习惯于看到肮脏的东西…)。你的所有学分;)@SirmPota老实说,我从来没有用wordpress接触过一行代码,调用
echo
的函数可以选择不输出任何内容并返回它,这很常见。我只是调整了你的建议,这就是为什么我一定要给你信用我忽略了“回声”的正确/错误的论点,这将很好的工作现在-谢谢。是的,确实有点脏。我还没有检查有关
paginate\u comments\u links
功能的文档,我匆忙地假设它会响应分页(遗憾的是,我习惯于看到肮脏的东西…)。你的所有学分;)@SirmPota老实说,我从来没有用wordpress接触过一行代码,调用
echo
的函数可以选择不输出任何内容并返回它,这很常见。我只是调整了你的建议,这就是为什么我一定要给你信用
if (($is_comments_pagination == true)) {
    $args = array(
        'prev_text' => '&larr;',
        'next_text' => '&rarr;',
        'type'      => 'list',
        'echo'      => false
    );
    $content = paginate_comments_links($args);
    if (strlen($content) > 0)) {
        echo "<nav class=\"pagination\">$content</nav>";
    }
}