If it’s your main loop, you could add this to your function.php
:
function custom_pre_get_posts($query) {
if($query->is_main_query() && /* is sticky conditional tag(sorry I need to check what is that) */) {
$query->set('posts_per_page', "1");
}
}
add_action('pre_get_posts', 'custom_pre_get_posts');
Or you can make a new WP_Query instance in the theme file:
<?php
$onePost = new WP_Query(array(
'post_type' => // your post type,
'posts_per_page' => 1,
'post__in' => get_option('sticky_posts')
));
if($onePost->have_posts()) :
while(($onePost->have_posts()) :
$onePost->the_post();
?>
// your post HTML as normal
<?php
endwhile;
wp_reset_query();
endif;
?>
Please note that if you use the WP_Query then you need to set all parameters you need to custom the post. You could read this in the WP_Query Codex