投稿者「後藤 祐一」のアーカイブ

後藤 祐一 について

フリーランスとしてWebプログラミングを行っています。 宜しくお願いします。

CSS 印刷禁止 解除

印刷禁止のサイトを印刷する方法についてのまとめ

CSSで禁止している場合

Ctrl + Uでソースコードの表示やChromeの開発者ツールをF12で起動してmain.cssやdefault.cssやcommon.css的な名前のCSSファイルを探し出し以下の@media printの記載がある箇所をコメントアウトします。

/*
@media print {
    * {
        display: none;
        opacity: 0;
        background: #fff;
    }

    img {
        display: none;
        opacity: 0;
        background: #fff;
    }
}
*/

@media printの記載があるファイル名は経験と勘で探し出してください。
どうしても印刷したいサイトがある場合はすべてのCSSファイルを開き@media printを探し出しコメントアウトします。

Javascriptで禁止している場合

身もふたもない話ですがブラウザでJavascript自体を無効にして印刷します。

Chromeの場合
設定(S)->プライバシーとセキュリティのサイトの設定->JavascriptをOFFにします。

Chrome以外もJavascriptを無効にする機能を有していますので簡単に無効にできます。
この方法を利用すれば右クリック禁止やコピー禁止サイトも右クリックとコピーができるようになります。

Winodws10 HomeでAdministratorを有効にする

Windows10 HomeではGUIからAdministratorを有効にすることはできません。
コマンドから設定します。

⊞ Win + XでWindows PowerShell(管理者)(A)を起動
Administrator を有効にする

net user administrator /active:yes

Administrator を無効にする

net user administrator /active:no

確認

net user administrator

Windows10 Proの場合GUIでも上記コマンドでもAdministratorを有効に設定できます。

Windows10 WiFi 11ac 固定

1.右下のWi-Fiアイコンをクリック
2.ネットワークとインターネットの接続
3.アダプターのオプションを変更する
4.無線LAN子機のプロパティ
5.構成
6.Wireless ModeをautoからIEEE802.11acに変更する
ネットワーク接続

無線LANと子機が11acに対応している必要があります。
11acは通信速度は11axに次いで速いですが、5GHzは壁や天井などの障害物に弱く、2.4GHzより通信距離が短いです。

WordPress サイトに重大なエラーがありました。

2020年5月10日にサイトに重大なエラーがありました。と出た人のほとんどがプラグイン「all-in-one-seo-pack」が原因かと思われます。

※2020/05/28追記
All In One SEO Pack 3.5.2にアップデートでエラーは表示されなくなりました。

一時的な回避方法

一時的に問題を回避したい方は「all-in-one-seo-pack」を停止にすれば問題は解決しますが、筆者は情報が出揃ってから修正していきます。

原因の突き止め方

wp-config.php

/**
 * 開発者へ: WordPress デバッグモード
 *
 * この値を true にすると、開発中に注意 (notice) を表示します。
 * テーマおよびプラグインの開発者には、その開発環境においてこの WP_DEBUG を使用することを強く推奨します。
 */
define('WP_DEBUG', false);

デバッグモードをtrueにして「サイトに重大なエラーがありました。」と表示されているURLにアクセスするとエラーメッセージが表示されるので、エラーメッセージから原因を突き止めます。

筆者が表示されていたエラーメッセージは以下の通り

Notice: Trying to get property of non-object in /サーバーの場所/blog/wp-content/plugins/all-in-one-seo-pack/inc/schema/aioseop-context.php on line 372

Notice: Trying to get property of non-object in /サーバーの場所/blog/wp-content/plugins/all-in-one-seo-pack/inc/schema/aioseop-context.php on line 372

Notice: Trying to get property of non-object in /サーバーの場所/blog/wp-content/plugins/all-in-one-seo-pack/inc/schema/aioseop-context.php on line 372

Notice: Trying to get property of non-object in /サーバーの場所/blog/wp-content/plugins/all-in-one-seo-pack/inc/schema/aioseop-context.php on line 372

Notice: Trying to get property of non-object in /サーバーの場所/blog/wp-content/plugins/all-in-one-seo-pack/inc/schema/aioseop-context.php on line 587

Notice: Trying to get property of non-object in /サーバーの場所/blog/wp-content/plugins/all-in-one-seo-pack/inc/schema/aioseop-context.php on line 774

Recoverable fatal error: Object of class WP_Error could not be converted to string in /サーバーの場所/blog/wp-content/plugins/all-in-one-seo-pack/inc/schema/graphs/graph-webpage.php on line 73

オブジェクトにプロパティがないエラーですが修正方法はわからない為、プラグイン作成者がアップデートするか情報が出揃うまで寝かせます。

そのほかのエラーメッセージが表示されている方はファイルの行を見て修正するか、外部のプラグインが問題なら一時的に停止するか対応が必要となります。

WordPress 自動生成されるタグを無効化する

WordPressプラグインでスライダーを実装したらうまくいかなかったのでjQueryのプラグインを記事内に直で書いて実装する手順をまとめました。

jQuery本体と実装したいプラグインを読み込む

書く場所は 概観->テーマエディター->header.php

<head>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script src="jQuery-plug-in"></script>
</head>

jQueryCDNで読み込んでいます。
jQuery本体を先に読み込むようにしましょう。
実装するプラグインによっては読み込むファイルが複数あるのでReadMeかデモファイルを見てください。

固定ページのURLで分岐させる方法

<?php if (get_permalink() == get_site_url()."/fixed-page-url/") : ?>
    <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
    <script src="jQuery-plug-in"></script>
<?php endif ?>

WPの自動生成されるタグを無効化する

WPのエディタ(ビジュアル・テキストの両方)で書いた記事は「p」タグと「br」タグが自動で生成されます。
この機能によってjQueryで動的な動きをした際に勝手に空の「p」タグと「br」タグが生成され表示がズレる問題が起きます。
なので自動生成されるタグを無効化するのですがこれが大変な作業になります。

記事全ての自動生成を無効化する
functions.php

remove_filter('the_content', 'wpautop');
remove_filter('the_excerpt', 'wpautop');

この場合記事数が多い場合全ての記事に「p」タグと「br」タグを記載するハメになります。

固定ページの自動生成を無効化する
functions.php

function auto_generation_disabled() {
    if (is_page()) {
        remove_filter('the_content', 'wpautop');
        remove_filter('the_excerpt', 'wpautop');
    }
}
add_action('wp', 'auto_generation_disabled');

この場合固定ページのみ「p」タグと「br」タグを記載するだけで済みます。
それでも大変な量だと思いますので一度記事のソースコードからコピーする方法が確実だと思います。