Php 用于检查函数是否返回HTML标记的条件
我有一个条件语句,如果为true,它将显示一些Php 用于检查函数是否返回HTML标记的条件,php,wordpress,function,Php,Wordpress,Function,我有一个条件语句,如果为true,它将显示一些标记,其中包含一个函数,该函数返回到包含注释的页面的html链接 <?php if( ( $is_comments_pagination == true ) ) { ?> <nav class="pagination"> <?php $args = array( 'prev_text' => '←', 'nex
标记,其中包含一个函数,该函数返回到包含注释的页面的html链接
<?php
if( ( $is_comments_pagination == true ) ) { ?>
<nav class="pagination">
<?php
$args = array(
'prev_text' => '←',
'next_text' => '→',
'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' => '←',
'next_text' => '→',
'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' => '←',
'next_text' => '→',
'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' => '←',
'next_text' => '→',
'type' => 'list',
'echo' => false
);
$content = paginate_comments_links($args);
if (strlen($content) > 0)) {
echo "<nav class=\"pagination\">$content</nav>";
}
}