让WP功能返回而不是立即打印

Sam*_*son 0 php wordpress function

我试图从内像各种功能提供的值"的循环"创建数组the_title(),the_excerpt(),the_permalink()和其他人.我想做类似于下面的事情.不幸的是,大多数这些功能会立即打印出结果而不是返回结果.此外,我已经检查了这些参数的可用参数,并且没有找到任何强制返回的选项.

if (have_posts()) {
  while (have_posts()) {
    the_post();
    $items[] = array(
      "id" => get_the_id(), "the_title" => the_title(), 
      "the_excerpt" => the_excerpt(), "the_permalink" => the_permalink()
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

Sam*_*son 5

可猜名称的替代函数

显然有几种不同的方法可以解决这个问题.如前所述,某些函数将带有一个替代函数,它只是将"get_"添加到开头.例如,the_title()打印标题,而get_the_title()返回标题.

具有较少可猜名称的替代函数

其他功能不遵循这种做法.例如,the_permalink()没有其他选择get_the_permalink().相反,它的替代方案很简单get_permalink().这可能令人困惑,因此我建议您在" 模板标签"页面上执行查找.

偶尔的布尔参数(对所有函数都不通用)

此外,某些函数将包含一个允许您更改正常行为的参数.例如,如果您不想使用get_the_title(),您可以简单地使用以下内容:

<?php $title = the_title('echo=0'); ?>
Run Code Online (Sandbox Code Playgroud)

这会将布尔值设置为false,这意味着将返回值而不是echo'd.