The_title()Wordpress在php脚本

时间:2015-07-22 15:06:53

标签: php wordpress

我试图获取the_title();从wordpress页面在php脚本中使用它

我的代码:

<?php 
  global $post;
  $args = array( 'numberposts' => 10, 'category_name' => 'bin-o' );
  $posts = get_posts( $args );
  foreach( $posts as $post ): setup_postdata($post); ?>
    $project_name = the_title();
    $post_id = get_page_id('$project_name');
    var_dump($project_name);
?>

<a href="<?php echo get_site_url() . '/?p=' .  $post_id  ?>"><h1><?php the_title() ?></h1>
<?php the_content() ?></a>

functions.php:

<?php 

  // Get the id of a page by its name
  function get_page_id($page_name){
    global $wpdb;
    $page_name = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_name = '".$page_name."'");
    return $page_name;
  }
?>

问题是它只在打印时给出了the_title()。 所以我不能使用the_title()将它用于php脚本,因为the_title将返回NULL

我该如何解决这个问题,以便我可以使用所请求的标题在php脚本中进一步使用

2 个答案:

答案 0 :(得分:4)

您使用get_the_title()

许多wordpress in-loop函数都有相应的get_版本,这些版本将返回值,而不是回显它。

答案 1 :(得分:1)

我现在用过这个:

<?php
  $project_name = trim(ucfirst(get_the_title())); //The title of current post!
  $project_info = get_page_by_title($project_name);
  $project_id = $project_info->ID;
?>

<a href="<?php echo get_site_url() . '/?p=' .  $project_id  ?>"><h1><?php the_title() ?></h1>
<?php the_content() ?></a>

project_info获取所有项目信息,project_id从项目信息中获取ID,并使用该ID重定向到所需页面。所以我不必再使用这些功能了