我发现WordPress正在从我的主题中的模板执行代码,但是当它实际上不在使用模板的页面上时。
虽然这个模板不会在实时状态下使用(因为它只运行一个循环来创建数据),我想知道是否有其他人遇到过这个问题 - 除了在powers.php中推送所有内容之外,如何让WP转到在网站加载时停止包含/运行模板?
我假设代码运行的原因,是WP加载并正在寻找模板等是实际的include();模板文件在某些时候?导致循环运行?如果是这种情况,这是否意味着运行任何模板文件中的任何PHP?
以下是包含的模板中的代码(不包括WP模板标头)此代码在没有模板集的任何页面上运行。 get_base_question_meta
是一个返回预建数组的函数。
$users = get_users( array() );
$base_meta = get_base_question_meta();
$new_meta = array();
foreach ($users as $user ){
if($user->data->ID == 1){
continue;
}
foreach ($base_meta as $question_group_id => $question_groups){
foreach ( $question_groups as $group_id => $sets ){
foreach ($sets as $set_id => $set ){
foreach ($set as $question_id => $question ){
$new_meta[ $group_id ][ $set_id ][ $question_id ] = (string)rand(1, 5);
}
}
}
}
update_user_meta($user->data->ID, 'saved_answers', $new_meta);
}