代码之家  ›  专栏  ›  技术社区  ›  Sampson

使wp函数返回而不是立即打印

  •  0
  • Sampson  · 技术社区  · 15 年前

    我试图在各种函数提供的值的“循环”中构建一个数组,比如 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()
        );
      }
    }
    
    2 回复  |  直到 15 年前
        1
  •  5
  •   Sampson    15 年前

    具有可猜测名称的可选函数

    显然有两种不同的方法来解决这个问题。如前所述,一些函数将附带一个可选函数,该函数只在“get_uuu”开头做准备。例如 the_title() 打印标题,而 get_the_title() 返回标题。

    具有较少可猜测名称的可选函数

    其他功能不遵循此实践。例如, the_permalink() 没有其他呼叫 get_the_permalink() . 相反,它的替代方案只是 get_permalink() . 这可能会让人困惑,所以我建议你在 Template Tags 页。

    偶尔使用的布尔参数(并非所有函数都使用)

    另外,一些函数将包含一个允许您更改正常行为的参数。例如,如果您不想使用 获取标题()。 ,您可以简单地使用以下内容:

    <?php $title = the_title('echo=0'); ?>
    

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

        2
  •  1
  •   Tom Haigh    15 年前

    我觉得很多wordpress的功能都像 the_*() 有其他选择,比如 get_the_*() 就是这样。