プラグイン Firelight Lightbox が動作しないので。。。

画像を拡大表示して見せるためのプラグインとして、Firelight Lightbox を使っていたが、いつの間にか動作しなくなった。いろいろ調べてみたが?、原因が分からないので、幾つかのプラグイン Lightbox を試すことにした。

 

新規プラグインから幾つかのプラグイン例えば、Responsive Lightbox & Gallery, Simple Lightbox 等々、しかし、作動しないので WordPress 専用のプラグインと言うか WordPress と名前がある Lightbox を何気に見つけた Fancybox for WordPress を試すとナナナんと快適に作動した。iPhoneのSafari&Google でもOK!

設定も簡単で結構期待通りの動作で満足、また一つ解決した。

リビジョンを削除するSQLコマンド

新規に記事を書くとリビジョン(改定記録)が結構細かく数字が増えている。リビジョンもデータなので、WordPressの データベースにどんどん溜まってしまうことで、管理画面の重さに繋がってしまう。

 

ある程度リビジョンが増えてきたところで削除する方法をサイトで得たので試してみた。

データベースを操作するために、まず Xampp の MySQL から WordPress の Date を丸ごとバックアップ後に、phpMyAdmin を開き、WordPress のデータベースを選び、下記の記述を入れ実行。

リビジョンを削除するSQLコマンド:
DELETE FROM wp_posts WHERE post_type = 'revision';
実行コマンド:
DELETE FROM wp_posts WHERE post_status = 'inherit' AND post_type = 'revision';

SQLコマンドでなく実行コマンドでリビジョンの削除、しかし、WordPress ではリビジョンの数が消えていないので、やはりリビジョンの削除はプラグイン「WP-Optimize」で削除することにした。

メンテナンスモードで固まった場合の処理方法

WordPress ウェブサイトがメンテナンスモードのままで固まるのは良くあること。。。以前にも WordPress のバージョンアップ時にプラグインのアップデート時、突然に「メンテナンス中と言うメッセージ付き」でサイトが消えてビックリ、又、Windows の更新後にも発生した経験から今では、当たり前のように解決できるようになっているけど、取り合えずメモ的に記述した。

 

手動で戻す方法
WordPress がメンテナンスモードに入ると、WordPressウェブサイトのルートフォルダ「wp-admin」内に「.maintenance」というファイルが作成され、この自動で作られたファイルを削除することになる。

wp-adminフォルダ
 .maintenance
*「.maintenance」ファイルを削除する

Windows では、エキスプローラで隠しファイルを表示することができるけど、このメンテナンスモードを処理するには、FTPサーバーに接続し、上記のファイルを削除するのが良い。

該当のファイルを削除すると、ウェブサイトは通常どおり機能する。同時に WordPress ウェブサイトのキャッシュもクリアする。

動くCSS機能をiPhoneでもー問題の解決

アニメーション関連の CSS を別ファイルと言ってもダッシュボードから外観→追加CSS とプラグインの SimpleCSS に移動させただけなので、「transform: rotateX/rorateY」関係のCSSも同じように移動させたところ、なんと大部分の CSS が iPhone の Safari&Google で動いた。

 

動かないCSSは、要素を動かすCSSの序列・記述に問題があることが判明したので変更してみたところ解決した。

「変更部分」
.xxxx-x:hover {        
  animation-play-state: paused;
.xxxx-x:hover {        
  animation-play-state: running;
。。。と記述してたコードを下記のように変更した。
  animation: oss1Anime 3s linear 1s infinite alternate paused;} ⇐ (例)
.xxxx-x:hover {        
  animation-play-state: running;
}

その他の動かなかった CSS は、配列の問題だけで修正する事で無事に動くようになった。

動くCSS機能をiPhoneでも

サイトを巡って多くの可能性のある情報を試したところ、アニメーション関連(@keyframes と animationプロパティ)の CSS だけを別ファイルにして、jQuery で HTML の読み込みが完了してから CSS を読み込むようにすると改善され可能性があることが判明した。

WordPress

 

jQueryをheader.phpの下部に追加:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(function(){
    var style = '<link rel="stylesheet" href="style.css">';
    $('head link:last').after(style);
});
</script>

早速、TwentySeventeenheader.php に記述して試したところ、スライドショーと動画を観ることが出来るようになった。次のステップは「transform: rotateX/rorateY」関係のCSSが効かない問題を解決するだけだね。

WordPressからの重要な通知

再々WordPressのインストールすると重要な通知が来ていたけど、今回は何故か通知が来ない。そこで設定画面で管理者メールアドレスの変更を試みたが一向に変更されないので、管理者メールアドレスを変更した。

【承認なしで変更する方法】
以下のWordPressのURLにアクセス
 ドメイン名/wp-admin/options.php
いろいろな設定項目の表示から2つが管理者メールアドレスに関する項目を探す。
 admin_email 及び new_admin_email
上記2つの項目のメールアドレスを新しいメールアドレスに変更し、「変更を保存」をクリックし保存して、設定画面に移動して → 一般 → 管理者メールアドレス にて、メールアドレスが新しいものに変更されているのか確認する。

以上で管理者メールアドレスは変更は完了!、ということで無事管理者メールアドレスを変更することができた。

できれば直したいWordPressでの問題点

ほぼ以前のサイトに戻すことができたが、管理画面のサイトヘルスで確認すると2点ばかり気になり解決しようと試みた。

 

1.サイトヘルスで確認すると1項目だけ改善の余地があると表示。
「古いデータベースサーバー ➡ MariaDB 10.5 以上の使用を検討するように。。。」
早速、mariadb-10.5.25-win64 をダウンロード、Windows10 の時に経験した方法でアップグレードを試みたが失敗、その上、元に戻した「mysql」もダウン。
再度 Xampp8.1 を再インストールしたが、原因わからず Xampp のバージョンアップまで待つことにした。

2.以前のように WordPress 内にフォルダー作成して、ベーシック認証をかけたが、いつの間に「You don’t have permission to access this resource.」なって以降、フォルダーをオープンできない。これも Windows11 が原因?、又は、作成過程に問題があるのかな?

いずれにして、解決の糸口が見えないので暫くは放置することに。。。

WordPress6.1からキャッシュ関係に対して厳しいチェックが追加

以前のLinuxで立ち上げた自宅サーバーでは、Memcachedサーバーをインストール、APCをPHPに追加してFileやDataキャシュを管理してた。現在のWindows版自宅サーバーのWordpressは、Optimaze(プラグイン)で圧縮機能やFileキャシュのClear機能にて十分だと思っていたが、WordPress 6.1では、別にData部分のキャッシュの管理機能が必要になった。

思い出しながらの解決方法
1.WindowsにMemcachedサーバーとクライアントのインストール
2.APCuのインストールとOPcacheの設定
* APCUとOPcacheの管理用コントロールパネルをインストール

Linuxではインストールや設定が簡単だったのでWindowsでも同じだと思いきや、インストール先の.ZIPがリンク切れだったり、何とか見つけた.ZIPが違うとか、苦労の連続だった。

add_filter( 'site_status_should_suggest_persistent_object_cache', '__return_false' );
*ヘルスセンターの表示が変わらないので、functions.phpに非表示とするためのコードを記述した。

*解決方法の1~3に関しては自宅サーバーの記事として、後日纏めて投稿する予定。

カテゴリー別サイドバー用に「Custom Sidebars」プラグインを利用

固定ページのsidebar用のテンプレートが用意できたので、早速、カテゴリー別サイドバー用に「Custom Sidebars」をインストール。ワードプレスのウイジェットは「Classic Widgets」を使用してるので有効にすると新規作成画面がウィジェット内に用意されてる。目的がメニューと投稿リストへのカテゴリー別サイドバーなので、先ずはサンプルを用意して確認。

WordPress

Custom Sidebars
サイドバー置き換えプラグイン

管理画面のプラグインから「Custom Sidebars」をインストール、又は、
https://ja.wordpress.org/plugins/custom-sidebars/ プラグインのHPから。

[WordPress管理画面 ➡ 外観 ➡ ウィジェット]

サイドバー(ウィジェット)を自由に作成して、各記事ごとにサイドバーを置き換えることができる。
1.何個でも作成、表示条件の指定ができる。
2.投稿・固定ページの記事一覧画面から利用中の「サイドバー」を確認できる。
3.プラグインの設定データをインポート・エクスポートできる。
4.投稿・固定ページの記事編集画面からサイドバーを指定することで、サイドバー(ウィジェット)が置き換えられる。

 

利用する前にNETで得た情報と多少操作の違いがあって不安もあったが、想像以上に優れたプラグインで目的が明確なのでスムーズに完成及び、置き替えが出来た。尚、このプラグインのアップデートが定期的になされているようで、「wordpress6.1.1」に対応してる。

固定ページ用テンプレート(2カラム)の作成

以前から新たなメニューを作成したいと考えていたがようやく案が纏まったのでサイドバー用のテンプレートを準備した。Twenty Seventeenの機能は簡単んで多くの機能を加えた関係からかfunction.php等へ追加すると「重大なエラー」となる。そこで参考になる情報をNETで探すとあるある「Twenty Seventeenで簡単にテンプレートを追加」と言った情報をゲット!

TwentySeventeen

固定ページ用テンプレート(2カラム)作成

 

固定ページのデザイン変更に関する方法を詳しく記事にしているので迷うことなく作成できた。感謝!

便利なデジタル生活さんのHP
https://digital-life.club/hp/wordpress/twenty-seventeen-page-design-post#i

新規テンプレートから呼び出すパーツを作成

1.親テーマの「/themes/twentyseventeen/template-parts/page/」のパーツを全て子テーマに入れる。
2.次に「content-page.php」を同じフォルダに名前を変えてコピーしてファイルの中身を入れ替える。
  例:ファイル名「content-page-normal.php

<?php
/**
* Template Name: Content-Page-normal
* Template part for displaying page content in page.php
* @link https://codex.wordpress.org/Template_Hierarchy
* @package WordPress
* @subpackage Twenty_Seventeen
* @since 1.0
* @version 1.0
*/
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <?php
    if ( is_sticky() ) :
        echo twentyseventeen_get_svg( array( 'icon' => 'thumb-tack' ) );
    endif;
    ?>
    <header class="entry-header">
        <?php
            echo '<div class="entry-meta">';
            echo twentyseventeen_time_link();
            echo '</div><!-- .entry-meta -->';
        ?>
        <?php the_title( '<h1 class="entry-title">', '</h1>' ); ?>
  <!--- <?php twentyseventeen_edit_link( get_the_ID() ); ?> ---> ⇐削除!!! 
    </header><!-- .entry-header -->
    <?php if ( '' !== get_the_post_thumbnail() ) : ?>
        <div class="post-thumbnail">
            <a href="<?php the_permalink(); ?>">
            <?php the_post_thumbnail( 'twentyseventeen-featured-image' ); ?>
            </a>
        </div><!-- .post-thumbnail -->
    <?php endif; ?>
    <div class="entry-content">
        <?php
            the_content();   
            wp_link_pages( array(
                'before' => '<div class="page-links">' . __( 'Pages:', 'twentyseventeen' ),
                'after' => '</div>',
            ) );
        ?>
    </div><!-- .entry-content -->
</article><!-- #post-## -->

新規テンプレートを作成

「/themes/twentyseventeen-child/」の「page.php」を「page-normal.php」と名前を変えてコピーする。そしてファイルの中身は下記のように記載する。

<?php
/**
* Template Name: Page-normal
* Template part for displaying page content in page.php
* @link https://codex.wordpress.org/Template_Hierarchy
* @package WordPress
* @subpackage Twenty_Seventeen
* @since 1.0
* @version 1.0
*/
add_filter('body_class','normal_body_class');
function normal_body_class($classes){
$classes[] = 'has-sidebar';
return $classes;
}
get_header(); ?>
<div class="wrap">
    <div id="primary" class="content-area">
        <main id="main" class="site-main" role="main">
            <?php
            while ( have_posts() ) : the_post();
                get_template_part( 'template-parts/page/content', 'page-normal' );
                // If comments are open or we have at least one comment, load up the comment template.
                if ( comments_open() || get_comments_number() ) :
                    comments_template();
                endif;
            endwhile; // End of the loop.
            ?>
        </main><!-- #main -->
    </div><!-- #primary -->
<?php get_sidebar(); ?>
</div><!-- .wrap -->
<?php get_footer();

固定ページの新規作成画面に「テンプレート」という項目が表示されていればOK! 新規テンプレート(page-normal)を選ぶとサイドバーが現れる。

TOP

Copyrighted Image