Попробуйте разбить ваш код на куски, чтобы еще больше изолировать проблему:
Это, очевидно, шаблон WordPress, и даже если вы думаете, что проблема не в основном коде WordPress, вам может потребоваться поместить отладочный вывод в основные функции, чтобы точно определить, где происходит проблема. Другими словами, вам нужно войти в эти вызовы функций, чтобы выяснить причину проблемы - в этот момент вы можете найти решение вашей проблемы.
<?php
echo '<pre>';
echo PHP_EOL . 'is_search' . PHP_EOL;
var_dump( is_search() );
echo PHP_EOL . 'get option 1' . PHP_EOL;
var_dump( get_option('option1') );
echo PHP_EOL . 'is_page' . PHP_EOL;
var_dump( is_page() );
echo PHP_EOL . 'get option 2' . PHP_EOL;
var_dump( get_option('option2') );
echo PHP_EOL . 'get option 3' . PHP_EOL;
var_dump( get_option('option3') );
echo PHP_EOL . 'in category' . PHP_EOL;
var_dump( in_category('excludeme', $post ) );