Пользовательский тип сообщения Получить URL-адрес Loop ShortCode - PullRequest
0 голосов
/ 30 ноября 2018

У меня здесь есть PHP-скрипт, который я не могу обернуть, я в основном пытаюсь создать шорткод, отображающий URL-адрес следующего пользовательского типа записи, затем, когда текущее сообщение также является последним, оно возвращается назадпотянув URL к первому сообщению.все работает, за исключением случаев, когда вы находитесь на последнем посте, шорткод отображает идентификатор текущего поста (финального поста) вместо URL первого поста, я предполагаю, что он как-то связан с "'fields' => 'ID ", но я понятия не имею, так как я не пишу php:

function next_post_url() {
$next_post = get_next_post();
if(!$next_post){
    $args = array(
      'numberposts' => 1,
      'post_type'   => 'portfolio',
      'order'   => 'ASC',
      'fields'  => 'ids'
    );
    $first_post = get_posts( $args );
    $next_post_url = $first_post[0];
}
else{
    $next_post_url = get_next_post()->post_title;
}
return get_permalink($next_post->ID);}add_shortcode( 'next_post_url', 'next_post_url' );

1 Ответ

0 голосов
/ 01 декабря 2018

Пожалуйста, измените ваш php-код, как показано ниже.

function next_post_url() {
   $next_post = get_next_post();
   if (!$next_post) {
     $args = array(
        'numberposts' => 1,
        'post_type' => 'portfolio',
        'order' => 'ASC',
        'fields' => 'ids'
     );
     $first_post = get_posts($args);
     $post = $first_post[0];
   } else {
     $post = $next_post;
   }
   return get_permalink($post);
}
add_shortcode('next_post_url', 'next_post_url');
...