Просмотр 9 ответов — с 1 по 9 (всего 9)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    А можете подсказать по синтаксису, а то там мне немного непонятно?
    <?php wp_set_post_categories( $post_ID, $post_categories, $append ) ?>
    Что в параметрах нужно прописать, чтобы у текущего поста (без указания конкретного ID) сменить текущую категорию на категорию с ID=4. Я правильно понял, что для этого третий параметр вообще указывать не нужно?

    Модератор Denis Yanchevskiy

    (@denisco)

    WordPress-разработчик, denisco.pro

    Что в параметрах нужно прописать, чтобы у текущего поста (без указания конкретного ID) сменить текущую категорию на категорию с ID=4.

    wp_set_post_categories( get_the_ID(), array(4) );

    Я правильно понял, что для этого третий параметр вообще указывать не нужно?

    В Вашем случае не нужно.

    Прошу прощения еще за один вопрос. А эту функцию нужно использовать в single.php? Я хочу менять категорию у поста по истечении времени без использования плагина wp post expirator.

    Модератор Denis Yanchevskiy

    (@denisco)

    WordPress-разработчик, denisco.pro

    А эту функцию нужно использовать в single.php?

    Если хотите использовать вне цикла, то просто укажите ID записи:

    wp_set_post_categories( 286, array(4) );

    В single.php не срабатывает такая конструкция

    <?php while ( have_posts() ) : the_post(); ?>
    <?php  //to check against expiration date;
    $currentdate = date("YmdHi", strtotime("+3 hours"));
    $expirationdate = get_post_custom_values('expiration');
    if (is_null($expirationdate) ) {
                $expirestring = '300050502561'; //MAKE UN-EXPIRING POSTS ALWAYS SHOW UP;
    } else {
    if (is_array($expirationdate) ) {
                $expirestringarray = implode($expirationdate);
                }
    $expirestring = str_replace("/","",$expirestringarray);
    } //else
    
     if ( $expirestring > $currentdate ) { ?>
    
    				 <?php wp_set_post_categories( get_the_ID(), array(4) ) ?>
    
    				<?php } //end if for expiration; ?>
    				<?php get_template_part( 'content', get_post_format() ); ?>
    				<?php comments_template(); ?>
    
    			<?php endwhile; ?>

    Дату ввожу в формате 2016/06/17/20/00
    При этом для скрытия отдельных элементов в шаблоне записи все работает, но вот категория не меняется. Помогите решить проблему.

    Условие конечно
    if ( $expirestring < $currentdate )
    Но все равно не работает

    Вопрос больше не актуален. Прошу удалить тему, если это возможно.

    Модератор Yui

    (@fierevere)

    永子

    мы не удаляем темы. Неактуальные и решенные вопросы можно соответственно отметить «решенными»

Просмотр 9 ответов — с 1 по 9 (всего 9)
  • Тема «Смена рубрики у поста» закрыта для новых ответов.