在第二个实例中调用模板部件时,如何确保没有feature\\u id值是常驻的,因为没有传递任何值?
恐怕你误解了什么set_query_var
确实如此。它不会通过任何测试,也不会只对下一个测试有效get_template_part
呼叫
好吧,那么它到底有什么作用呢?来自文档:
设置查询变量。
代码如下:
function set_query_var( $var, $value ) {
global $wp_query;
$wp_query->set( $var, $value );
}
所以现在一切都应该清楚了。让我们看看您的原始代码:
set_query_var(\'feature_id\', array(143866)); // <- sets query var called feature_id to 143866
set_query_var(\'tax_meta_value\', \'Payments\'); // <- set query var called tax_meta_value to Payments
get_template_part(\'partials/page-blocks/block_tag_new\');
set_query_var(\'tax_meta_value\', \'Venture Capital\'); // <- sets tax_meta_value to Venture Capital
// feature_id is still 143866, because it hasn\'t been changed
get_template_part(\'partials/page-blocks/block_tag_new\');
如果要取消设置查询变量,可以将其设置为false/NULL:
set_query_var(\'feature_id\', false);