1

我正在为 wordpress 编写一个简单的元框,并且在保存数据时遇到了一个小问题。

元框在我的“创建文章”页面中有两个文本字段。保存帖子时,这些将保存为 post-meta。

在保存时,我检查字段是否已填写 - 如果它们为空,我将获取帖子标题并提取我需要的数据。这个想法是采用第一个“-”之前的所有内容。如果没有减号,则整个标题应保存在我的自定义字段中。现在,这无法在标题中找到“-”(尽管有一个)并且每次都返回整个标题:

function get_from_title($title) {
  $pos = strpos($title, '-');

  if ($pos) {
    return trim(substr($title, $pos));
  }
  else {
    $pos = strpos($title, '–'); //added this since two different signs could be used

    if ($pos) {
      return trim(substr($title, $pos));
    }
    else {
      return $title;
    }
  }
}

调用 get_from_title 的函数通过 get_the_title( $post_id ) 获取标题,这可以正常工作。

wordpress 是否以某种方式对标题进行了编码?为什么 strpos 找不到减号?我应该寻找什么?

谢谢

4

1 回答 1

3

我回复了您在 WordPress 论坛中就该主题开始的主题。你可以在那里找到你的答案。

或者,这就是我所说的。:)

是啊。这是一个棘手的问题。那么,当我们清楚地看到一个连字符时,为什么 strpos 不能在标题中找到一个连字符呢?因为一个都没有。呵呵。

WordPress 在这里所做的是将连字符(减号)转换为破折号。

这会给你一个深蹲: $pos = strpos( $title, '-' );

你要这个: $pos = strpos( $title, '–' );

让我知道你的结果如何。:)

于 2012-09-05T21:10:31.913 回答