只有几个简单的想法:
A) 这里有一个建议,使用get_search_form
使用静态变量筛选以处理实例计数:
add_filter( \'get_search_form\', function( $form )
{
static $instance = 0;
$instance++;
// Setup your form here with the $instance variable as needed:
$form = \'<form>...</form>\';
return $form;
} );
B) 另一个解决方法是添加
$instance = apply_filters( \'wpse_search_instance\', 0 );
到您的
searchform.php
文件中添加以下内容
functions.php
文件:
add_filter( \'wpse_search_instance\', function( $count )
{
static $instance = 0;
return ++$instance;
} );
但是,这种实例计数也可以通过另一个过滤器回调来修改;-)
C) 那么我们也可以在你的searchform.php
文件:
do_action( \'wpse_search_instance\' );
$instance = did_action( \'wpse_search_instance\' );
处理实例计数。这假设您不启动
wpse_search_counting
其他地方的行动。
D) 我们可以在get_search_form()
功能:
do_action( \'pre_get_search_form\' );
所以我们只需要打电话:
$instance = did_action( \'pre_get_search_form\' );
在
searchform.php
. 我认为这是迄今为止最简单的解决方法。