如何通过帖子ID获取帖子标题并与我的代码集成?

时间:2020-07-16 作者:Sten Stmith

我有一个函数,它可以获取菜单的下一个和上一个项目的url。我也想为他们赢得头衔。我该怎么做?这就是我所拥有的:

  <?php
$menu_name = \'main-menu\';
$locations = get_nav_menu_locations();
$menu = wp_get_nav_menu_object( $locations[ $menu_name ] );
$menuitems = wp_get_nav_menu_items( $menu->term_id, array( \'order\' => \'DESC\' ) );

$i=-1;
foreach ( $menuitems as $item ):

    $i++;

  $id = get_post_meta( $item->ID, \'_menu_item_object_id\', true );
  $page = get_page( $id );
  $link = get_page_link( $id );

    $linkarray.=$id.",";
    $urlarray.=$link.",";

  if ($id==$post->ID){
    $previd=$i-1;
    $nextid=$i+1;
  }
endforeach;

$linkarray=explode(\',\',$linkarray);
$urlarray=explode(\',\',$urlarray);

$nextid=$urlarray[$nextid];
if (empty($nextid)){
    $nextid=$urlarray[0];
}
$previd=$urlarray[$previd];
if (empty($previd)){
    $previd=$urlarray[$i];
}
?>

<a href="<?php echo $nextid; ?>">Next Item</a>
<a href="<?php echo $previd; ?>">Previous Item</a>
目标点是用wp\\U nav\\U菜单的下一项和上一项标题替换“下一项”和“上一项”。使用此功能是否可能?任何答案都会很有帮助!

2 个回复
最合适的回答,由SO网友:mozboz 整理而成

要按ID获取文章标题,您需要:get_the_title( $id );.

您可以使用类似的方法将其集成到您的代码中,以了解如何使用$link实现URL,但这基本上是一个PHP编码问题,因此最好尽可能使用代码,如果遇到问题,请再次发布。

SO网友:Sten Stmith
      <?php
      $menu_name = \'primary\';
      $locations = get_nav_menu_locations();
      $menu = wp_get_nav_menu_object( $locations[ $menu_name ] );
      $menuitems = wp_get_nav_menu_items( $menu->term_id, array( \'order\' => \'DESC\' ) 
      );

      $i=-1;
      foreach ( $menuitems as $item ):

        $i++;

        $id = get_post_meta( $item->ID, \'_menu_item_object_id\', true );
        $page = get_page( $id );
        $link = get_page_link( $id );
        $title = get_the_title( $id );

        $linkarray.=$id.",";
        $urlarray.=$link.",";
        $titlearray.=$title.",";

        if ($id==$post->ID){
          $previd=$i-1;
          $nextid=$i+1;
          $titleid=$i+1;
        }
      endforeach;

      $linkarray=explode(\',\',$linkarray);
      $urlarray=explode(\',\',$urlarray);
      $titlearray=explode(\',\',$titlearray);

      $titleid=$titlearray[$titleid];
      $nextid=$urlarray[$nextid];
      if (empty($nextid)){
          $nextid=$urlarray[0];
      }
      $previd=$urlarray[$previd];
      if (empty($previd)){
          $previd=$urlarray[$i];
      }
      ?>

<?php echo $titleid; ?>

This is the edited working version, in case if somebody will need.

相关推荐

在WordPress中将值从输入字段传递到php函数?

当我从下拉菜单中选择类别时,它会在输入字段中正确更新。理想情况下,它应该更新recipeIndex中的配方过滤器。php。我尝试用方法“将输入包装在表单中”;获取(&Q);但这仍然不起作用。HTML位于配方索引页面上的HTML小部件中。CSS、JavaScript和PHP代码在单独的代码段中(我使用Woody snippets Wordpress插件https://wordpress.org/plugins/insert-php/)请帮忙。HTML<div class="dropdown_