我需要在WP中的自定义函数过滤器中执行var_dump但是,结果显示在哪里?代码正常工作,因为我可以看到搜索结果结构与代码存在时的区别,而不是
add_filter('relevanssi_hits_filter', 'products_first');
function products_first($hits) {
$types = array();
$types['section1'] = array();
$types['section2'] = array();
$types['section3'] = array();
$types['section4'] = array();
// Split the post types in array $types
if (!empty($hits)) {
foreach ($hits[0] as $hit) {
array_push($types_1[$hit->post_type], $hit);
}
}
// Merge back to $hits in the desired order
var_dump($types);
$hits[0] = array_merge($types['section1'], $types['section2'], $types['section3'], $types['section4']);
return $hits;
}
答案 0 :(得分:8)
尝试在var_dump之后立即杀死流程,这有助于我更容易地调试:
var_dump($types);
die("products_first_ends");
这样一来,如果var_dump之后的东西在var转储之上呈现,它就不会被它覆盖。
答案 1 :(得分:1)
shutdown
挂钩可用于在关闭body标签之前进行渲染:
function custom_dump($anything){
add_action('shutdown', function () use ($anything) {
echo "<div style='position: absolute; z-index: 100; left: 30px; bottom: 30px; right: 30px; background-color: white;'>";
var_dump($anything);
echo "</div>";
});
}
答案 2 :(得分:0)
这里很好,很干净:
if(!function_exists('wp_dump')) :
function wp_dump(){
if(func_num_args() === 1)
{
$a = func_get_args();
echo '<pre>', var_dump( $a[0] ), '</pre><hr>';
}
else if(func_num_args() > 1)
echo '<pre>', var_dump( func_get_args() ), '</pre><hr>';
else
throw Exception('You must provide at least one argument to this function.');
}
endif;
它的工作方式与var_dump()
类似,但是更加简洁和格式化。
您可以传递无限数量的参数来进行测试,并且每个转储之间也将其分开。