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

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

  •  0
  • user2972389  · 技术社区  · 8 年前

    我试图验证WordPress帖子标题是否以特定的前3个字符开头以达到某个条件。这是我所尝试的,它带回了标题本身。

    $verify = the_title();
    if(substr($verify,0,3) == '000'){
    $maptitle = 'test 1';
    } else {
    $maptitle = 'none';}
    
    3 回复  |  直到 8 年前
        1
  •  1
  •   Chris    8 年前

    您应该使用 get_the_title() . the_title() 将标题打印到屏幕上。在您的情况下,需要返回标题以便可以对其进行分析。

    $verify = get_the_title();

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

    如果要使用 \u标题() ,可以,但需要指定希望返回值。

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

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

        2
  •  0
  •   Scuzzy    8 年前

    如何在编辑时使用 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' );
    
        3
  •  0
  •   Robert    8 年前

    使用“精确”比较,否则将按类型转换将其比较为0或false,并显示误导性记录

    将if更改为

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

    注意有三个 =