Lo de que ando de mal dormir últimamente es serio, para nada es broma, por eso no entiendo bien tu código, pero estás de suerte, justo aquí tengo un pedazo de código con el que hice funcionar un slider, osea, el objetivo era asignar al slider una categoría determinada para que se mostraran en él los posts bajo dicha categoría. Te lo paso y adaptas lo tuyo a lo mio, o viceversa
Código PHP:
Ver original<?php
/**
* Slider Setting
*/
?>
<?php
// How many slides to show
add_option( 'featured-slider-count', '3' );
// Whish category?
add_option( 'featured-slider-category' );
if ( $_REQUEST['action'] == 'save-slider' ) :
$msg_slider = true;
if ( $_POST['slider-count'] < '3' || '' ):
$slider_count = '-1';
else :
$slider_count = $_POST['slider-count'];
endif;
update_option( 'featured-slider-count', $slider_count );
update_option( 'featured-slider-category', $_POST['slider-category'] );
endif;
?>
<div id="cefnac-slider-setting" class="box-setting">
<?php if ( $msg_slider ) : ?>
<div id="masage" class="updated"><p><?php _e( 'Slider Setting Updated', 'cefnac' ); ?></p></div>
<?php endif; ?>
<h3><?php _e( 'Slider Setting', 'cefnac' ); ?></h3>
<form name="featured-slider" method="post">
<input type="text" name="slider-count" value="<?php echo get_option( 'featured-slider-count' ) ?>">
<fieldset>
<ul>
<?php
$categories = get_categories();
foreach ( $categories as $category ) :
$checked_value = ( $category->cat_name == get_cat_name( get_option( 'featured-slider-category' ) ) ) ? 'checked="checked"' : '';
?>
<li><input type="radio" name="slider-category" value="<?php echo $category->term_id; ?>" <?php echo $checked_value; ?>>
<label><?php echo $category->cat_name; ?></label></li>
<?php
endforeach;
?>
</ul>
</fieldset>
<input class="button-primary" type="submit" name="save" value="<?php _e( 'Save Slider Setting', 'cefnac' ); ?>">
<input type="hidden" name="action" value="save-slider" />
</form>
</div><!-- #cefnac-slider-setting -->
Saludos.