捗るを極める、ガジェット×テック系ブログ

naenote.net

WordPress

Luxeritasのフッターの提供元表記を非表示にしようと戦った記録

投稿日:2017年9月8日 更新日:

負けました

こことは別で運営しているブログではWordPressテーマ「Luxeritas」を使っています。

高速、高機能、スッキリしたデザイン、カスタマイズの容易さ、行き届いたSEO対策にAMP対応……

これで無料で本当にいいの? というレベルで、お気に入りです。

しかし一点だけ、どうにかできないかなーと思う部分があります。

フッターに表示される提供元の表記「WordPress Luxeritas Theme is provided by “Thought is free”.」が消せないんです。

……と、持てる知識を総動員していろいろ試してみました。

開発者のるなさんに挑戦する形です。

が、幾重にも張り巡らされた非表示対策に挫折しました。

その一部始終をご紹介します。

 

※2017-09-10追記

本件に関し、作者のるなさんよりご連絡をいただきました。

本記事で紹介した方法は、試すだけでもWordPressで不具合が発生しかねないものであるそうです。

最悪の場合、管理画面へのログインができなくなる、ブログ画面が表示されなくなる等の重大な事態に陥る可能性があります。

あらかじめご承知おきください。

スポンサーリンク

Luxeritasの提供元表記は消してOK

そもそもこのフッターの提供元は消してもOKとされています。

一応、GPL v2 では、ソース内は消しちゃダメだけど、起動後の画面に表示される部分に関しては制限はない。なので消したきゃ消してもいい。

出典:Q&A よくある質問 | Luxeritas Theme

よし、じゃいっちょ消してみるか!

と意気込んでいろいろ調べて試してみました。

ちなみに使っているバージョンは、2017年9月8日時点の最新版である2.2.4です。

子テーマのCSSで非表示にする → ×

まずは子テーマのCSSで対象部分を消せないか試しました。

対象はid="thk"です。そのため以下コードを子テーマのCSSに追加してみたのですが……

#thk {display:none;}

見事に無視されました。

というのも、そもそも消す対象のstyle属性に思いきり

display:block !important

と書いてあるためです。

CSSに書かれたスタイルよりstyle属性に直書きされている情報のほうが優先されるんですよね。

しかも!importantまでつけられてしまっては太刀打ちできません。

もちろんvisibility:hidden;もダメでしたし、下記サイトに書いてある「背景と同じ文字色にして見えなくする」作戦(color:#XXXXX;)も効きませんでした。

参考 ワードプレスLuxeritas(ルクセリタス)テーマのフッター提供元情報WordPress Luxeritas Theme is provided by “Thought is free”.を消す方法

親テーマのPHPで該当部分を変更 → ×

よろしい、ではPHPだ!

ということで親テーマのフッター(footer.php)で該当部分をまるごとコメントアウトしてみたんですが……

<!-- <p id="thk" class="copy">~</p>-->

ダメでした。

コメントアウトされたHTMLの直下に新しい提供元表記が自動挿入されていました。

これはもしかしてJavaScriptでやってるのでしょうか……

※2017/09/09追記

上記部分をdisplay:none;のstyleを持つdivタグで囲ってみては? というコメントいただきました。

試してみたのですが、divの次に提供元のpタグがニョキッと現れました……

JavaScript生成部分をコメントアウト → ×

と、ここまで同じことを考えた方がいたようです。

仕方ないのでjavascript関連のソースを見てみる。 おそらく”create-javascript.php”の1175行目あたりをコメントアウトすると多分消える。

出典:Luxeritasフッター提供元情報削除 | hyperbanana cafe

というわけで、さっそく該当部分をコメントアウトしてみたのですが……

// return $ret;

全然ダメでした。提供元表記はゾンビのごとく蘇ってきます

うーん、これはどうすればできるのだろうか……

挙動を見てみる

そこで、実際のブログ画面上でフッターの提供元表記がどのように蘇るのかを観察してみました。

ChromeのDeveloper Toolでstyle属性をいじったり、JavaScriptで消すCSSを投入してみたところ……

どうやらいじっても1秒毎に再生するという処理が走っている模様。

JavaScriptでいうとsetInterval()ですね。

おそらく定期的にチェックを行って、NGなら要素を挿入するという処理を行っているのだと思います。

生成しているJavaScriptをいじる

そこであたらめて親テーマのcreate-javascript.phpを見てみると……

ありました。1092行目付近です。

if( href.indexOf("/embed/") < 1 ){
   setInterval( function() {…} ,1000)
}

どうやらこの中身でチェックを行ったうえ、CSSがいじされていたらあるべきstyleを挿入したり、要素そのものが消されていたら要素を挿入しているようです。

よろしい! ならば削除だ!

ということで上記setInterval();をまるごと消してみたのですが……

全然復活しました。

この提供元表記、強いぞ……

まとめ

というわけで、試した範囲ではLuxeritasの提供元表記を消すことはできませんでした。

開発者のるなさんに戦いを挑んでみたけど、ものの見事に撃沈した形です。

というより、おそらくやり方を見つけたとしてもきっとイタチごっこですね。

郷にいらずんば郷に従え……おとなしくしておこうと思います。

 

※2017-09-10追記

なんと本家から有料プラグインが発売開始されました!

この記事で色々やってダメだったのを見てお分かりかもしれませんが、頑張るより買ったほうが早いかもしれません……

参考 Luxeritas 提供元表示消去プラグイン | Luxeritas Theme

よく読まれている記事

-WordPress

Copyright© naenote.net , 2017 All Rights Reserved.