パララックスのios対応方法(未検証)

Filed under: css,スマートフォン関係 — kdcs @ 2019年9月20日 金曜日

背景固定のパララックス効果は「background-attachment:fixed;background-size: cover」で背景画像を固定することで実装できるが、iPhoneなどios機ではこの方法が使えない。そこで背景画像固定用のブロック要素を用意してブロック要素自体を固定するという手段。
固定する要素には疑似要素「::before」を使い、z-indexで位置を下位にする。

div.hoge::before{
  display:block;
  content:"";
  position:fixed;
  top:0;
  left:0;
  z-index:-1;
  width:100%;
  height:100vh;
  background:url(./images/bg-image.jpg) center no-repeat;
  background-size:cover;
}

jQuery「slick」エンドレスで流れるイメージスライダー

Filed under: JavaScript — kdcs @ 2019年9月6日 金曜日

slick.jsを使ったスライドショーで多いのが一つの画像が移動もしくはフェードで切り替わるもの
オプションの設定で「止まることなく流れ続けるスライドショー」にできる

以下、オプション設定

$('#slick-slide').slick({
    arrows: false,
    autoplay: true,
    autoplaySpeed: 0,
    cssEase: 'linear',
    speed: 8000,
    slidesToShow: 4,
    slidesToScroll: 1,
});

ポイントは「autoplayspeedを0にする」「cssEaseをlinearにする」

phpエラー(function.phpのカスタムポスト追加の記述で)

Filed under: functions.php,php,wordpress — kdcs @ 2019年8月9日 金曜日

WordPress カスタムポストのパーマリンク(アンカータグ)に
「Notice: Only variables should be assigned by reference in」というエラーが出て
カスタムポストの記事にアクセスできないという状況。

php5からphp7への移行で出るっぽいという記事があったが、エラーが出た環境はphp5.6
何故か他のWordPressサイトではエラーは出ない・・・

修正箇所は、function.php内、カスタム投稿タイプ「○○○」のパーマリンク設定
参照渡しで値を配列に渡している部分

$post = &get_post($id);

これを以下に修正

$post_tmp = get_post($id);
$post = $post_tmp;

さらに、function.php内、一覧にカスタムフィールドの「お名前」を追加

echo attribute_escape($stitle);

attribute_escapeは非推奨とのことでesc_attr()を使用

echo esc_attr($stitle);

※追記 2021年10月9日
php 7.4環境でWordPress 5.7.2を使ったサイト制作時(眼鏡店)にデバッグモードで上記の状態発生
修正の記述で解決。

Contact Form 7 日本語で入力してください(海外からのスパムメール対策)

Filed under: contactform7,functions.php — kdcs @ 2019年7月30日 火曜日

日本語で入力しないとエラーになる海外からのスパムメール対策

function.phpに記述する
下記の例はタイトル(your-subject)に日本語が含まれない場合にエラーとする

function wpcf7_validate_spam_message( $result, $tag ) {
  $value = str_replace(array(PHP_EOL,' '), '', esc_attr($_POST['your-subject']));
  if (!empty($value)) {
    if (preg_match('/^[!-~]+$/', $value)) {
      $result['valid'] = false;
      $result['reason'] = array('your-subject' => '日本語で入力してください');
    }
  }
  return $result;
}
add_filter( 'wpcf7_validate', 'wpcf7_validate_spam_message', 10, 2 );

WordPress canonicalタグで「正規のURL」を出力する

Filed under: wordpress — kdcs @ 2019年3月20日 水曜日

canonicalタグは重複するページや類似ページなどコピーコンテンツとしてgoogleからペナルティを受けないために記述するもの

<link rel="canonical" href="「正規のURL」">

サイトをSSL化(httpからhttps)した場合にも有効
header.phpのheadタグ内に入れる
※is_front_page=トップページ is_home=投稿ページ(投稿ページのスラッグ入れる)

<?php if ( is_front_page() ) {
$canonical_url=get_bloginfo('url');
}
elseif ( is_home() ) {
$canonical_url=get_bloginfo('url').'/{ページスラッグ}';
}
elseif (is_category()) {
$canonical_url=get_category_link(get_query_var('cat'));
}
elseif (is_page()||is_single()) {
$canonical_url=get_permalink();
}
$paged = get_query_var( 'paged', 1 );
$page = get_query_var( 'page', 1 );
if ( $paged >= 2 || $page >= 2) {
$canonical_url=$canonical_url.'/page/'.max( $paged, $page );
}
?>
<?php if(!(is_404())):?>
<link rel="canonical" href="<?php echo $canonical_url; ?>">
<?php endif;?>

※WordPressデバッグモードで
「Notice: Undefined variable」が出るため13、14行$paged =と$page =を追加

(続きを読む…)

サイト内検索

カテゴリー

最近の投稿

↑上に戻る