验证WordPress标题是否以字符开头

时间:2018-01-23 23:00:32

标签: php wordpress substr

我正在尝试验证WordPress帖子标题是否以某些3个第一个字符开头以达到条件。这是我尝试过的,它带回了标题本身。

$verify = the_title();
if(substr($verify,0,3) == '000'){
$maptitle = 'test 1';
} else {
$maptitle = 'none';}

3 个答案:

答案 0 :(得分:1)

您应该使用get_the_title()the_title()会将标题打印到屏幕上。在您的情况下,您需要返回标题,以便您可以解析它。

$verify = get_the_title();

https://developer.wordpress.org/reference/functions/get_the_title/

如果你想使用the_title(),你可以,但是你需要指定你想要的值。

$verify = the_title('', '', false);

https://developer.wordpress.org/reference/functions/get_the_title/

答案 1 :(得分:0)

如何使用https://codex.wordpress.org/Plugin_API/Filter_Reference/wp_insert_post_data

在编辑时应用过滤器
function my_wp_insert_post_data_filter( $data )
{
  if( substr( $data['post_title'], 0, 3 ) == '000' )
  {
    $data['post_title'] = 'test 1';
  }
  else
  {
    $data['post_title'] = 'none';
  }
  return $data;
}

add_filter( 'wp_insert_post_data', 'my_wp_insert_post_data_filter' );

答案 2 :(得分:0)

使用“完全”比较,否则将通过投射类型将其比较为0或false,它将显示误导性记录

将if更改为

if (substr(get_the_title(), 0, 3) === '000') {

注意有三个=