假设我已经创建了plugin 将名为site的自定义帖子类型和插件包含到搜索结果中。假设我只在插件中添加了以下代码。
function searchAll( $query ) {
if ( $query->is_search ) { $query->set( \'post_type\', array( \'site\', \'plugin\' )); }
return $query;
}
add_filter( \'the_search_query\', \'searchAll\' );
此函数何时调用?是否在每个页面视图中调用?还是只有在有人搜索时才会调用?
SO网友:s_ha_dum
您已连接到过滤器。执行该过滤器时,代码将运行。在你的情况下the_search_query()
function 运行时间:
2595 /**
2596 * Display the contents of the search query variable.
2597 *
2598 * The search query string is passed through {@link esc_attr()}
2599 * to ensure that it is safe for placing in an html attribute.
2600 *
2601 * @since 2.1.0
2602 */
2603 function the_search_query() {
2604 /**
2605 * Filter the contents of the search query variable for display.
2606 *
2607 * @since 2.3.0
2608 *
2609 * @param mixed $search Contents of the search query variable.
2610 */
2611 echo esc_attr( apply_filters( \'the_search_query\', get_search_query( false ) ) );
2612 }
WordPress core只运行该功能几次(您可以
grep
但是主题和插件也可以运行它。