Я хочу отобразить один (или более) случайный заголовок поста на отдельных страницах поста (например, отображаться как название соответствующего продукта). Иногда я использую этот шорткод до четырех раз на одной и той же странице поста - хотя каждый случайный заголовок должен быть разным.
Короче говоря: это уже желаемый (рабочий) результат - только «устойчивость» отсутствует:
"... Lorem ipsum dolor RANDOM_TITLE_1 sit amet, adetetur sadipscing elitr RANDOM_TITLE_2 , sed diam nonumy eirmod tempor invidunt ut labore et dolore magna * 100 * RANDOM_TITLE_3 aliquyam erat RANDOM_TITLE_4. ... "
Итак: функция ниже работает, но, как я уже сказал: К сожалению, она меняет случайный заголовок (и) на каждая страница обновляется. Я думаю, что хранение этих заголовков с переходными процессами было бы лучшим решением, но я не знаю, как это реализовать. Есть идеи для этого?
//Random Titles
function rand_proddy_shortcode($atts,$content=NULL){
ob_start();
$args = array(
//'tag' => 'html-css', //slug of the tag
'post_type' => 'product',
'post_status' => 'publish',
'orderby' => 'rand',
'posts_per_page' => 1,
);
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) {
while ( $the_query->have_posts() ) {
$the_query->the_post();
global $product;
$meta = get_post_meta($product->id, '_rfh_product', TRUE );
$rand_posts .= '"'. $meta['name'] .'..."';
}
echo $rand_posts;
wp_reset_postdata();
}
$return_val = ob_get_contents();
ob_end_clean();
return $return_val;
}
add_shortcode('RAND_PRODDY', 'rand_proddy_shortcode');