Nakkan Base

WordPress投稿記事一覧

日別の投稿記事一覧

【WordPress】のセキュリティ対策

う〜ん。。。というわけで、よくわからないので積極的にはやってきてないのですが、最近いわゆるSPAMメールが多いのはちょっとうんざりしてたかなぁ。

こんな誰も見てないようなサイトなのに、やっぱり来るものは来るんだ。

有名な「Akismet Anti-Spam」のプラグインは登録でよくわからなくて、しかも商用(アフィリエイトの添付も含む)だと使えないということらしいので削除。

代わりのプラグインを探し、とりあえず入れたのが「CleanTalk」というプラグイン。

でもこれもよく見ると使用期間が7日間で、そのあとは年$8.00とある。

まあこれが良かったら、年1,000円未満程度の使用料なら払ってもいいかな、とは思う。

あと気になったのは「WP Cerber Security, Anti-spam & Malware Scan」というプラグイン。

これは完全無料版があるようだからそれで十分なんだけど、何となく扱いが難しそう。初心者は引くわ〜。

★WordPressのセキュリティ大丈夫?プロのおすすめプラグインはコレ!

WordPress Security 2(Kさん作成セキュリティマニュアル2)

【WordPress】親テーマのrequire_onceで読み込んでいるファイルを子テーマで上書きする

「require_onceですでにファイルが読み込まれている場合、再読み込みをしない」というルールがある。

なので、親テーマで「require_once」が使ってある場合、子テーマでいくら新しいファイルを作ろうと上書きしてくれないのだ。

=親テーマのfunctions.php=

require_once( get_template_directory() . "/includes/core.php" );

上書きしたかったのは、やっぱり「日本語」で表示されてしまう問題。

これ、何とかならないのかな?

「メニュー」を「Menu」にしたい。

この部分は「include/core.php」で設定されていて、これを上書きするしか方法がない。

何時間も色々試してみたが結局うまくいかない。もう親テーマのままでいくしかないかと思っていた。

その時!

やっと方法を見つけた!

★「lib」フォルダにあるファイルを子テーマで編集したいのですが・・・ | CSSカスタマイズ相談 | Cocoon フォーラム

この方法は、新たに子テーマ内に「include/core.php」を作るのではなくて、全て子テーマのfunctions.phpに書き込む。

実際に変更したい関数の部分を全て書き出すのだ。

私の場合は、以下になる。 (親テーマのcore.phpは次ページ)

/*==============================

includes/core.phpの上書き

==============================*/
if ( ! function_exists( 'verbosa_header_section' ) ) :
function verbosa_header_section() { ?>
	<div id="sidebar">

		<header id="header" <?php cryout_schema_microdata('header') ?>>
			<nav id="mobile-menu">
				<?php cryout_mobilemenu_hook(); ?>
				<button type="button" id="nav-cancel"><i class="icon-cross"></i></button>
			</nav>
			<div id="branding" role="banner">
				<?php if ( has_nav_menu( 'primary' ) || ( true == cryout_get_option('verbosa_pagesmenu') ) ) { ?>
					<button type="button" id="nav-toggle"><span>&nbsp;</span></button>
				<?php } ?>
				<?php cryout_branding_hook();?>
				<?php cryout_headerimage_hook(); ?>
				<?php get_sidebar('before-menu'); ?>
				<?php if ( has_nav_menu( 'primary' ) || ( true == cryout_get_option('verbosa_pagesmenu') ) ) { ?>
					<nav id="access" role="navigation"  aria-label="Primary Menu" <?php cryout_schema_microdata('menu'); ?>>
						<h3 class="widget-title menu-title"><span>Menu</span></h3>
						<?php cryout_access_hook();?>
					</nav><!-- #access -->
				<?php } ?>

			</div><!-- #branding -->
		</header><!-- #header -->

		<?php get_sidebar('after-menu'); ?>
		<?php get_sidebar('conditional'); ?>
		<?php cryout_master_footer_hook(); ?>

		</div><!--sidebar-->
		<div id="sidebar-back"></div>
<?php }// verbosa_header_section
endif;

正直、最初は「変更したい関数」というのがさっぱりわからなかった。(変更したいのは「<span>Menu</span>」の部分だけ)

「verbosa_header_section()」がそうだとわかったので、その部分を書き出してみた。

大成功!

404ページの闇…

まあこのようなかっこいいエラーページにしたいわけですよ。本当は。

でも、実際はこうはならない。「日本語」表示になるのである。

(ため息…)

仕方ないので、子テーマに新しい404.phpを作って上書き。

日本語の方が分かりやすそうな文言はそのままにしときますか。

【WordPress】微妙に違うheaderを読み込む

フロントページとそれ以降のページのヘッダーやフッターを少しだけ変えたい時。

そう、一字変えたくても同じheader.phpは使えないですよね。

そんな時は新しいheader.phpを作るわけですが、その名前の付け方に決まりがあります。

 header-name.php 

「name」のところに任意の名前をつけますが、必ず-(ハイフン)でつなぐこと。

よくある_(アンダーバー)では機能しません。その上で、

get_header( 'name' )

とします。

また、get_template_partを使うときは少し違っていて、

get_template_part( '特定テンプレートの名前' )

となり、

get_template_part( 'header-name' )

のように表記しなければなりません。

ついごっちゃになってしまうけど、これらの機能はとても便利なのです。

どうして日本語になっちゃうの?

これってカッコ悪くないですか?

何でしょうね?「推薦文」って(怒)

ここは、テーマ設定で「Testimonials」と設定してるんですよ。

でも勝手に日本語訳になってしまっているのですよ。

他にも「Services」→「サービス」とか勝手に翻訳されちゃってる。

皆さんはこういう問題起こらないですか?

解決法を検索しても出てこないんです。(日本語にしたいというのは多々あるけど)

しょうがなく、最終手段を取りました。

=display-testimonial.php= (親テーマ)

    <div class="section-title-wrapper">
		<h2 class="section-title"><?php echo wp_kses_post( $zubin_title ); ?></h2>
    </div>

=display-testimonial.php= (子テーマ)

    <div class="section-title-wrapper">
		<h2 class="section-title">Testimonials</h2>
    </div>

に変えました。

静かにイラついて怒ってます💢