株式会社ファンフェアファンファーレWordPressが急にエラーコードを吐き出すようになった。WordPressに機能を追加しようと思って独自にコードを挿入してみてもなかなかうまくいかない。そんなことはよくあります。WordPressのエラー修正やカスタマイズがうまくいかないときこそ、少し考え方を変えてHTMLの基本で解決するという方法もあります。ホームページ制作では様々なWeb技術が入り乱れて駆使されていますが、クライアントの要望、初期の要件定義などの縛りによって、「その通りにやる」というのが盲点の原因となっていることはよくあります。確かに企画・計画通りに物事をすすめるのはスマートですが、WordPressはオープンソースという特性上、そしてWordPress本体やプラグインが常時アップデートされていく関係上、当初の想定とは異なった方法で機能を実装したりする必要が生じることがあります。想定したフローの中で行き詰まりを感じたときでも、WordPressサイト自体の「最終的な目的」がはっきりしていると、異なる方法も案としてバンバン出てくるのではないでしょうか?「確かあのプラグインですぐに実装することができたはずだ」そう思って、実際にWordPressプラグインを導入してみるとエラーコードの嵐。「...理由がわからない」そんなことを経験された方もいるかもしれません。した時は、WordPress本体自体がphp7に対応したことを受けて、サーバーのphp設定がバージョン7になっているにもかかわらず、昔から使っているプラグイン自体がphp7に対応していない、ということなんかがよくあります。そこで今回は、そうしたWordPressのエラー修正の際やWordPressカスタマイズの際に、「WordPressの関数などなど、内側だけで何とかしようとしなくてもいいのではないか?」という旨で「WordPressのエラー修正やカスタマイズがうまくいかないときこそHTMLの基本で解決する」をお伝えしていきます。WordPress・php・htmlの基本ルールを網羅していないと難しいWordPressには独自に使用することのできるWordPress関数などがあり、また基本はphpで作られているため、カスタマイズや修正においてもこうした動的な仕組み自体をある程度理解しておく必要があります。私たちも「phpの教科書を書けるほど理解しているか?」と言われれば「no」と言わざるを得ません。phpを極めている方などは非常に尊敬しています。そこで、ホームページ制作においてWordPressを利用することに着目して考えると、ある一つのことをやりたい場合、ある仕組みを導入したい場合、そのカスタマイズ実装には幾多のルートが存在していることをまず確認するべきです。京都から東京に行くにしても、昔の言い方で言えば東海道でも中山道でもいいわけで、移動手段も車や新幹線などたくさんの手段があります。最終的な到達地点が東京某所であればいいので、たどり着けるのであればどのルートでも問題はありません。所要時間の問題で最適なルートというものはありますが、例えば、途中で「名古屋にも寄りたい」と思うのであれば東海道がベストルートです。した仕組みを作ったあとで、「やっぱり長野にも寄りたい」と思うことがあるでしょう。それが追加カスタマイズです。この時にすでに東海道自体をメインルートとしてしまっているので、「中山道」をメインルートとした場合とはカスタマイズの方法が異なってきます。WordPressテーマ頼り・プラグイン頼りWordPressがホームページ制作に利用されてから、いわばほとんどの仕組みをWordPressが担ってくれるため、安易にホームページ制作業務を請け負う業者が増えてきたと聞いたことがあります。WordPressテーマを5万円で買ったからといって、ほとんどのカスタマイズを1万円で実装することはできません。完成品の大量販売であるからテーマは低価格であるだけで、そのテーマと同じくらいのものをゼロベースで作り上げるにはテーマ価格と同じ価格で行えるはずがないからです。4のハード部分をカスタマイズするのを「部分的ですから1000円でできるでしょう」と思う人もいないはずです。それはさておき、WordPressテーマに予め組み込まれている機能やプラグインに頼ってWordPressホームページ制作を行うと、本体バージョンアップやプラグイン更新によってエラーが出た場合の復旧やプラグインで追加した機能のさらなるカスタマイズなどは難しくなります。急なエラーへの対応や修正、こだわったカスタマイズを実装したい時には、WordPress・php・htmlの基本ルールを網羅していないと難しい面があります。その最大の理由は、最終的な「コードの吐き出し」に関するルートの選択をテーマやプラグインに頼っていた場合、少しの修正にも舵取りが効かない場合があるからです。ルールに沿っていてもテーマやプラグインの仕様でぶつかるWordPressやphp、そしてHTMLやCSSのルールに沿っていてもテーマやプラグインの仕様で競合が生まれ、設定がうまく反映されずカスタマイズがうまくいかない場合もよくあります。最悪の場合は、エラーの原因にもなります。複数箇所に設定の記述があった場合に、どれを優先するのかということの順序を誤っていったり、競合状態に陥るということがその代表例です。それでは、ルールに沿っていてもテーマやプラグインの仕様でぶつかるケースについて少しだけ見ていきましょう。WordPressパラメータの指定が競合する例えば、WordPressのパラメータを利用する場合、テーマやプラグインで、アーカイブリストの昇順(ASC)と降順(DESC)を自動で吐き出す仕様があったとします。ちなみにWordPressはこうしたパラメータ無指定の場合、降順(DESC)です。数字の多いものから少ないものへと順番にする、つまり、単純に投稿であれば新しいものから順番に表示するというようなイメージです(ページのIDや公開日も新しいものほど数値が高くなっていますからね)。単純にこの昇順降順を設定しただけであれば、投稿の公開日を新着順と古いもの順に変更することができます。カスタムフィールドの数値を基準として昇順・降順を選択して一覧表示したい場合、先にテーマやプラグインで昇順(ASC)と降順(DESC)を設定されていてしまっては、昇順と降順のどちらでリスト化するのかを強制的に設定されてしまいます。した場合、根本的なアーカイブリストの昇順降順の仕組みを取り払ってカスタマイズする必要があります。これが、せっかくWordPress関数・パラメータのルールに沿っていても、テーマやプラグインの仕様でぶつかる例の一つです。CSSの設定が効かず、!importantも効かないその他にも、WordPressテーマのカスタマイザー(外観→カスタマイズ)でフォントサイズの指定をした場合、CSS側で箇所に応じた細かな設定しようと思っても、カスタマイザーの設定が優先されてうまくできない場合があります。これはテーマの設定上スタイルをインラインでヘッドに吐き出し、それが外部CSSの記述よりも後になるためです。CSSは同じ箇所の設定が複数ある場合は、記述順序によって上書きされ、また、同じ箇所の設定があると上書きされ、という仕組みで設定が決定します。「!important」を利用することで、優先度の高さを示すことはできますが、テーマやプラグインによるHTMLへのスタイル直書きには勝てません。した場合は、WordPressテーマやプラグイン自体の仕様を変更することで解決することができますが、phpとも絡み合っている部分ですのでエラーが出やすい場所であることは否めません。操作には十分注意しましょう。phpバージョン変更に対応していないWordPress4.7以降、現行のバージョン4.8でもよくありがちなエラーの引き金が、「プラグインがphpバージョン変更に対応していない」という点です。頻繁にアップデートされているWordPressプラグインであれば、php7以上に対応している場合もありますが、phpが5.6以下の時に作成されたプラグインで、アップデートされていないものはエラーの原因になることがあります。WordPressのサーバーインストール時にサーバー側でphp7以上に設定されつつ導入されたWordPressであれば、当然にWordPressはphp7で動いている場合があります。WordPress4.7になった後にインストールされたWordPressサイトの場合は、概ねサーバー会社側でphpバージョン選択が7以上になっていると考えられます。してphp7に合わせてインストールされたWordPressサイトに、php5.6までしか対応していないプラグインをインストールするとエラーが発生する場合があります。してもそのプラグインが使いたい場合は、phpバージョンをダウングレードするというのも一つの解決策です。プラグインが.htaccessを上書きその他WordPressプラグインが.htaccessを上書きすることもあります。した場合はWordPressの管理画面の操作でなんとかなる問題ではなくなります。WordPress自体を入れ直そうと思っても、「.htaccessやwp-config.phpなどのコアファイルはそのまま」ということはよくあります。プラグイン頼りのまま、エラーが出た場合にプラグインを停止してももとに戻らない場合は、こうした部分に問題がある場合があります。非常に重要なファイルですので安易な操作は相当危険です。HTMLという原点に帰って解決しようWordPressパラメータの競合やCSSの上書き、プラグインが使えない、変に設定してエラーが出るという場合、基本的なhtmlの仕組みを使って、簡単に解決するという方法があります。基本はコメントアウトと別コードの設置です。可能であればWordPressの条件分岐を使って、ページごとの表示/非表示を切り替えるというものです。技術者目線としては負けたような気にもなり、方法としてスマートではありませんが、表向きの表示はしっかりするため、ユーザー目線としてはまったく問題がない、というものがほとんどです。その他にも「postでクエリを渡して...」というような事をすっ飛ばして、パラメータを直に記述して、初歩的なhtmlでそこに転移したりといったことを行います。コメントアウトをつけて任意のコードを挿入するテーマのphpを操作してエラーが出てしまうリスクを避けるために、テーマが吐き出すHTML部分などに対して、コメントアウトをつけて、任意のコードを挿入するというのも面白い試みです。カスタムフィールドなどを利用すればそうしたことも結構簡単に実装することができます。地下鉄山科駅から京阪山科駅まで、電車と駅構内だけを使って行こうとするとすごく時間がかかりますが(一度「御陵」まで行く必要があるでしょう)、歩いていけばすぐです(目の前ですからね)。ルートのあり方として、例えば、PC表示用のボタンとスマートフォン用のボタンの切り替えを、PCとスマートフォンを識別して、吐き出すコードを変えるというやり方や、別ページにリダイレクトするという方法もありますが、メディアクエリで「display:none」などを使うことで実装することもできます。これはシンプルなHTMLとCSSの技術です。完全にシステム化する必要はあるか?ページ数がそれほど多くない企業のホームページなどでは、特にWordPressの関数などを利用して吐き出しを行わなくても、直接記述で事足りるような部分がたくさんあります。ホームページ制作の基本はHTMLであり、HTML5以降で考えても、この言語には優れた機能がたくさんあるはずです。したHTMLでのホームページ制作をいかに簡単にするか、いかに手作業を少なくするかという理由でphpとMySQLの仕組みが使われたり、それを応用したWordPressなどが開発されています。確かにいちいち記述していくのは面倒だという部分もありながら、柔軟に設定していきたい部分もあります。した時にWordPressテーマやプラグインに組み込まれた仕組みが逆に邪魔になるときがあります。カスタムテンプレートやカスタムフィールドの利用こうしたケースでは、通常はphpの仕組みを操作して、「クエリを次の処理にどう渡すか」というような部分で解決しようとしてしまう時がありますが、ふと立ち止まって考えると、「その部分だけ無効にしてしまい、シンプルなHTMLで実装する方法で十分ではないか?」という時があります。カスタムテンプレートを作ってしまうというのも手ですし、テーマによる吐き出し部分を無効化してカスタムフィールドで任意入力箇所を作ってしまうのも解決策になりえます。専門性が元で専門外の解決策、シンプルな解決策を見つけ出せないときプラグインによるエラーなどの場合は、「何行目の記述にエラーがあります」とブラウザで表示がなされる場合がありますが、そんな表示をされても、「その記述の直し方がわからない」それが大半のケースの本音です。その部分に問題があるわけではなく、実は別のファイルに問題があって、その行の記述との整合性がないという場合もありますからね。「たった一行とか一文字の違いで、エラーが出るか出ないかが決まる」そんなこともよくあります。その一行を見つけるのが大変なんですけどね。ホームページ制作はシステム化したほうが楽ですが、システム化した故の自由度の制限や、エラーのリスクというものが常につきまとっています。したエラーの修正やきちんとしたカスタマイズにはWordPressの仕組み、そしてphpやhtmlの仕組み、そしてさらに言えばサーバーなどに関しての知識をある程度網羅しておく必要があります。逆にある程度の全体像を理解した上でホームページ制作を行うと、異なるアプローチでの解決策を見つけ出すことも可能になります。phpなどなど、専門性が高いことは確実にプラス要素ですが、そうした専門性が元で専門外の解決策、シンプルな解決策を見つけ出せないときもあります。そんな時は、一度「求める結果」を再確認し、HTMLを含めたホームページ制作の原点に帰って、全体像を確認してみることをおすすめします。「あれだけ悩んでいたのは一体何だったのか?」そんなケースも結構あると思いますよ。何が問題かわからないのが一番困るWordPressのエラー修正やカスタマイズがうまくいかない場合はもちろん、現実社会でも何が問題かわからないのが一番困りますよね。WordPressのエラー修正・復旧のご依頼をよくいただきますが、場合によっては本当に1日足らずで復旧が可能なケースもよくあります。WordPressエラーの調査を含め、相応の修正費用はいただいていますが、「短期間だから大したことない作業だ」というような印象を持たれる方はいらっしゃらず、むしろ一番「お喜びの声」が多い作業依頼だったりします。私たちとしても「おそらくあの『問題が見えず八方塞がりになっている状態』にいらっしゃるのだろう」ということから、なるべく急ピッチで対応させていただいています。確かにご依頼が「すごい難問」であるケースもあります。私たちもその難問具合に頭を悩ませる事がありますが、「お客さまはそれ以上に悩まれていたのだろう」と考えるとそれがやりがいに変わります。カスタマイズにおいては、システム上不可能だったり、費用の面で実装が不可能な場合があります。した時は、場合によって代替策で対応させていただく場合もあります。その一例が、今回のような基本的なHTMLで解決する方法です。ファンフェアファンファーレでは、各種WordPressのエラー(不具合)の復旧、修正やカスタマイズに対応しています。WordPressサイトを運用中のエラーなどにお困りの際は、ぜひご相談ください。軽微なエラーの修正から、本格的なWordPressの再インストール・再設定まで幅広く対応しております。WordPressカスタマイズの基本となりますが、WordPressサイトの外観を決定しているWordPressテーマのCSSファイルを編集することで、Webデザインに関する細かなカスタマイズが可能になります。今回は、WordPressサイトのトップページをブログタイプから固定ページに設定するカスタマイズ方法をお伝えします。サイト(WordPressベースのホームページ)の大半のテーマ(テンプレート)は、基本的にブログ投稿がリスト表示されるWebデザインになっています。今回は、少し初心に戻りまして、「ホームページ制作や修正の際に注意すべき記述ミス【初心者編】」についてゆったり思いついたことをお伝えしていこうと思います。ホームページ制作・Web制作に関しても誰しもが最初は初心者ですが、初心者がゼロからホームページ制作をしたりホームページの修正を手がける場合に陥りやすいミスについて思い出しながら書いていきます。ホームページ修正事例として様々なテキスト文章修正についてご紹介します。ホームページの文章や価格表の価格を修正する場合でも、現状のホームページ仕様によって編集操作方法は様々です。ホームページ修正のご依頼のうち、対応不可となった事例についていくつかご紹介します。どのようなホームページでも編集操作が可能な限りは修正対応させていただいたり、代替手段をご案内させていただいておりますが、主に以下の場合に、修正対応不可となり、ご依頼をお断りさせていただいています。ltd.)株式会社ファンフェアファンファーレは、HTML5,CSS3,jQueryを利用したSEO特性・PR力の高いホームページ制作(ウェブサイト制作)、WordPressなどのCMS(コンテンツマネジメントシステム)の導入やカスタマイズ、ウェブサイトの高速表示化、レスポンシブデザイン、モバイルフレンドリーを得意とする京都のWeb制作会社(ホームページ制作会社)です。「ホームページを通じたお問い合わせ」など、ホームページのWebマーケティング効果を第一に考えてホームページを制作しています。WordPressのSEOやカスタマイズをはじめとした高いWeb制作技術に加え、Webマーケティングのコンバージョンを意識したホームページの構造設計やSEO、コンテンツプランニング・制作が強みです。京都を中心に、全国のホームページ制作サービスやWebマーケティングサービスをお求めのみなさまに、ホームページ制作(ウェブサイト制作)をはじめ、サイトカスタマイズやコンテンツ制作、SEOカスタマイズなど、様々なWeb制作サービスを提供しております。ホームページ制作サービスWebマーケティング・SEO・SEMを意識した、Web集客力・プロモーション力のあるSEO特性・PR力の高いホームページ(ウェブサイト)の制作が強みです。)では、ホームページ制作につき、ご訪問での打ち合わせ・ヒアリング・ご提案が可能です。9:30~17:00新規お問い合わせに関しましては、お電話でのお問い合わせは承っておりません。お手数ですがお問い合わせフォームよりご連絡くださいませ。