サポート » 使い方全般 » テーマの関数に新たなソースコード入れたらエラー出た

  • 解決済 ?masa

    (@masa5558ak)


    functions.php治しても戻りません。
    Parse error: syntax error, unexpected ‘{‘ in /home/masa5558ak/masa5558ak.com/public_html/hysteric/wp-content/themes/child/functions.php on line 4です。

15件の返信を表示中 - 1 - 15件目 (全16件中)
  • CG

    (@du-bist-der-lenz)

    タイプミスです

    トピック投稿者 ?masa

    (@masa5558ak)

    投入したソースコード消しても治りません。

    CG

    (@du-bist-der-lenz)

    保存日時が変わってますからね

    トピック投稿者 ?masa

    (@masa5558ak)

    どうしたら治りますか?

    CG

    (@du-bist-der-lenz)

    エラーを起こす前に戻します

    トピック投稿者 ?masa

    (@masa5558ak)

    エラーを起こす前がわからなくなってしまったのです、、、

    トピック投稿者 ?masa

    (@masa5558ak)

    <?php

    // function my_excerpt( $length ) {
    // global $post;
    // $content = mb_substr( strip_tags( $post -> post_content ), 0, $length );
    // $content = $content . ‘ … 続きを読む‘;
    // return $content;
    // }

    function get_the_custom_excerpt($content, $length) {
    $length = ($length ? $length : 70);//デフォルトの長さを指定する
    $content = preg_replace(‘/<!–more–>.+/is’,””,$content); //moreタグ以降削除
    $content = strip_shortcodes($content);//ショートコード削除
    $content = strip_tags($content);//タグの除去
    $space = array(” “, “\n”,”\t”,”\r”,”\0″, “\x0B”, ” “, “ ”, “ ”, “ ”,”&xxxsp;” ,” ”);
    $content = str_replace($space,””,$content);//特殊文字の削除(今回はスペースのみ)
    $content = mb_substr($content,0,$length);//文字列を指定した長さで切り取る
    $content = $content . ‘ … 続きを読む‘;
    return $content;
    }

    最初の部分に別なコードが入ってました。

    • この返信は5年、 8ヶ月前に?masaが編集しました。
    CG

    (@du-bist-der-lenz)

    確かに途中で止まるでしょう

    @masa5558ak さま
    先般同じ事になったところですので、今後はご自身で前の状態に戻せるようになることが望ましいですよね。
    やり方は人それぞれあると思いますが

    1 作業前に前の行に日付をコメントで登録する
    2 作業ファイルは日付や番号などを先頭につける、1世代のみであればアンダーバーを先頭につけて複製する

    これだけでも、ファイルを正常な状態に戻すにはすぐにできることだと思います。
    1は 書くプログラムによってコメントアウトの仕様が違うので気をつけたいところです。
    2は エディタをお使いでしたら開いた状態でもとのファイルの名前を変えて、上書き保存すると世代を作成することができたりすることもあります。またwordpressは自身のファイルをデータベースのように動かすので、ファイル名がかわっても中のデータを読みに来たりするので注意です。できれば別のフォルダをつくったりローカルにコピーして保存するのがよいと思います。

    何にせよ作成作業に問題発生はつきものなので、最初は人手にたよる必要があるものにしても次に発生した場合には自力で解決させる具体案を、その時点で見つけたいですよね。

    あと、I.D.コールされてもここは個人間通信用途で設置いただいている場ではないので、ご自身のプログラムに関し質問する上での波及的な個人へのやりとりはあるにしても、特定個人に対する言及はない方がよいと思います。

    トピック投稿者 ?masa

    (@masa5558ak)

    すみませんでした。
    今、ぜひとも見せたい人達がいたので焦ってバックアップしなかったのです。
    あまりにも焦ってました、ごめんなさい。
    冷静になり、作業に取りかかります。失礼な言葉お許しくださいませ。

    トピック投稿者 ?masa

    (@masa5558ak)

    いや~いくらやっても戻りません。困りました。コード載せます見てみてください。

    <?php
    
    // function my_excerpt( $length ) {
    // global $post;
    // $content = mb_substr( strip_tags( $post -> post_content ), 0, $length );
    // $content = $content . ' ... <a class="more" href="'. get_permalink() . '">続きを読む</a>';
    // return $content;
    // }
    
    function get_the_custom_excerpt($content, $length) {
      $length = ($length ? $length : 70);//デフォルトの長さを指定する
      $content =  preg_replace('/<!--more-->.+/is',"",$content); //moreタグ以降削除
      $content =  strip_shortcodes($content);//ショートコード削除
      $content =  strip_tags($content);//タグの除去
      $space = array("&nbsp;", "\n","\t","\r","\0", "\x0B", " ", "&ensp;", "&emsp;", "&thinsp;","&xxxsp;" ," ");
      $content =  str_replace($space,"",$content);//特殊文字の削除(今回はスペースのみ)
      $content =  mb_substr($content,0,$length);//文字列を指定した長さで切り取る
      $content = $content . ' ... <a class="more" href="'. get_permalink() . '">続きを読む</a>';
      return $content;
    }
    
    // Pたぐ除去
    remove_filter('the_content', 'wpautop');
    
    //iphoneまたはipodで閲覧されているかどうかを判定
    function is_iphone()
    {
        $ua = $_SERVER['HTTP_USER_AGENT'];
        if(
        strpos($ua, 'iPhone')!== false||
        strpos($ua, 'iPod')!== false
        )
        {
        return true;
        }
        else
        {
        return false;
        }
    }
    //androidスマートフォンで閲覧されているかどうかを判定する関数
    //「mobile」文字列の有無を見ることで、タブレット端末をfalse判定
    function is_android()
    {
        $ua = $_SERVER['HTTP_USER_AGENT'];
        if(
        strpos($ua, 'Android')!== false&&strpos($ua, 'Mobile')!== false
        )
        {
        return true;
        }
        else
        {
        return false;
        }
    }
    //Mozillaが開発するスマートフォン用OS「Firefox OS」の判定関数
    function is_firefox_os()
    {
        $ua = $_SERVER['HTTP_USER_AGENT'];
        if(
        strpos($ua, 'Android')=== false&&strpos($ua, 'Firefox')!== false&&strpos($ua, 'Mobile')!== false
        )
        {
        return true;
        }
        else
        {
        return false;
        }
    }
    //Windows Phoneで閲覧されているかどうかを判定する関数
    //「mobile」文字列の有無を確認することで、タブレット端末をfalse判定
    function is_windows_phone()
    {
        $ua = $_SERVER['HTTP_USER_AGENT'];
        if(
        strpos($ua, 'Windows')!== false&&strpos($ua, 'Phone')!== false
        )
        {
        return true;
        }
        else
        {
        return false;
        }
    }
    //BlackBerryで閲覧されているかどうかを判定する関数
    function is_blackberry()
    {
        $ua = $_SERVER['HTTP_USER_AGENT'];
        if(
        strpos($ua, 'BlackBerry')!== false
        )
        {
        return true;
        }
        else
        {
        return false;
        }
    }
    //ガラケーで閲覧されているかどうか判定する関数
    function is_ktai()
    {
        $ua = $_SERVER['HTTP_USER_AGENT'];
        if(
        strpos($ua, 'DoCoMo')!== false||
        strpos($ua, 'KDDI')!== false||
        strpos($ua, 'UP.Browser')!== false||
        strpos($ua, 'MOT-')!== false||
        strpos($ua, 'J-PHONE')!== false||
        strpos($ua, 'WILLCOM')!== false||
        strpos($ua, 'Vodafone')!== false||
        strpos($ua, 'SoftBank')!== false
        )
        {
        return true;
        }
        else
        {
        return false;
        }
    }
    /*****
    is_ktai()、is_iphone()、is_android()、
    is_firefox_os()、is_windows_phone()、
    is_blackberry()のどれかがTRUEを返すと
    is_mymobile()はTRUEを返します。
    つまりガラケー・スマホでの閲覧時にはTRUE、
    PC・タブレットでの閲覧時にはFALSEを返します。
    ******/
    function is_mymobile()
    {
        if(
        is_ktai()||
        is_iphone()||
        is_android()||
        is_firefox_os()||
        is_windows_phone()||
        is_blackberry()
        )
        {
        return true;
        }
        else
        {
        return false;
        }
    }
    
    //Android Chromeで&nbsp;が・に表示される不具合対策
    function replace_nbsp_to_ensp($the_content) {
      if ( is_singular() ) {
        $the_content = str_replace('&nbsp;', '&ensp;', $the_content);
      }
      return $the_content;
    }
    add_filter('the_content','replace_nbsp_to_ensp');
    CG

    (@du-bist-der-lenz)

    繰り返しだけど、健全だったファイルに戻すのが先決

    こんにちは

    先頭をコメントアウトしたあと、エラーメッセージはどのように変わりましたか?
    現在は4行目はコメントアウト行なので、今でもfunctions.php on line 4と出ているのであれば、ファイルとは別のファイルでエラーが出ているのではないでしょうか?

    トピック投稿者 ?masa

    (@masa5558ak)

    やっと見つかりましたー!!functions.phpに行きかた間違えでした。
    public_html>hysteric>wp_content>themes>child>functions.phpでした。
    〇〇〇.com/hystericの(hysteric)通らずにwp_contentに飛んでました。
    自分のミスです凹 学習不足です。やっと寝れます。15時間かかりました。こんな簡単なやつ。
    少し寝ます💤
            
            

    エラーメッセージが表示されているのであれば、よく読めば何が起きているのか判断することができます。

    エラーメッセージには
    unexpected ‘{‘ in /home/masa5558ak/masa5558ak.com/public_html/hysteric/wp-content/themes/child/functions.php on line 4
    と出力されていました。
    予想外の箇所に{があります、と読めます。
    しかし、ファイル上部をコメントアウトする前でも、4行目に{がありません。
    この時点で別のファイルだと判断できたのではと思います。

    これからのご参考になさってください。

15件の返信を表示中 - 1 - 15件目 (全16件中)
  • トピック「テーマの関数に新たなソースコード入れたらエラー出た」には新たに返信することはできません。