Wordpress

カスタム投稿のスラッグ、投稿記事のスラッグを取得

すぐ忘れそうなので備忘録。

[やりたいこと]

・カスタム投稿の管理としてプラグイン CPT UIを使用
・single-custom.phpでページ別に自動でIDを振りたい

散々探してこうなった。

カスタム投稿名を取得

<?php echo esc_html(get_post_type_object(get_post_type())->name); ?>

カスタム投稿に投稿した記事のスラッグを取得

<?php echo get_page_uri($post->ID);?>

表示例

■URLは以下として
https://なんちゃら.com/trouble/shimi/

この場合のカスタム投稿名がtrouble
投稿記事のスラッグがshimi

出力例が下記

  • このエントリーをはてなブックマークに追加
0

contact form7でサンクスページへ遷移

概要
※contact form7でサンクスページに遷移したい。
※javascriptの「on_sent_ok」は2017年内に廃止予定。
※代替案としてfunction.phpに変更を加える。

通常、別ページへリダイレクトする場合

//functions.phpファイルに以下を記載
 
<?php
 
//ここから
add_action( 'wp_footer', 'mycustom_wp_footer' );
 
function mycustom_wp_footer() {
?>
<script type="text/javascript">
  if(jQuery('.wpcf7').length){ //formのclassが存在するか判定
    var wpcf7Elm = document.querySelector( '.wpcf7' );
    wpcf7Elm.addEventListener( 'wpcf7mailsent', function( event ) {
     location.replace('遷移先のURL');
   }, false );
  }
</script>
<?php
}
 
//ここまで
 
?>

複数ページでリダイレクトを使用する場合

F12キーで「class=”wpcf7″」のコード部分を確認。
同列のidを先述の「class=”wpcf7″」と変更。

F

//functions.phpファイルに以下を記載
 
<?php
 
//ここから
add_action( 'wp_footer', 'mycustom_wp_footer' );
 
function mycustom_wp_footer() {
?>
<script type="text/javascript">
  if(jQuery('#wpcf7-f145-p62-o1').length){ //formのclassが存在するか判定
    var wpcf7Elm = document.querySelector( '#wpcf7-f145-p62-o1' );
    wpcf7Elm.addEventListener( 'wpcf7mailsent', function( event ) {
     location.replace('遷移先のURL');
   }, false );
  }
</script>
<?php
}
 
//ここまで
 
?>
  • このエントリーをはてなブックマークに追加
0

wordpress ユーザーの権限を変更するプラグイン

wpプラグインメモ

権限毎に管理するなら

User Role Editor

アカウント別に管理するなら

User Admin Simplifier

  • このエントリーをはてなブックマークに追加
0

contactform7のセレクトボックスにカスタム投稿のタイトルを自動取得

contactform7のセレクトボックスにカスタム投稿のタイトルを自動取得する方法。
header.phpに以下を記述
記述箇所はjquery以下になるので、基本的にはwp_headより下になる。

if( is_page('10')): ?>
<script type='text/javascript'>
    jQuery(function(){

        <?php $my_query = new WP_Query('&post_type=recruit'); ?>
        <?php if ($my_query->have_posts()) : ?>
            <?php while ($my_query->have_posts()) : $my_query->the_post(); ?>

                jQuery('#select-title').append(jQuery('<option>').attr({ value: '<?php the_title(); ?>' }).text('<?php the_title(); ?>'));

            <?php endwhile; ?>
        <?php endif; ?>

    });
</script>
<?php endif; ?>

軽い解説

header.php

最初の is_page(’10’) はページIDを指定。
contactform7のショートコードが記載されている場所になります。
※例では固定ページに埋め込んでる場合


次にこのrecruitをカスタム投稿の任意のスラッグに変更。

コンタクトフォームの画面に移動

フォーム内で
[select job id:select-title]
と指定

こんな感じになると思います。
recruitだのjobだのは採用ページを作る際によく使うであろう想定なので使い回しがききやすい、と思います。

  • このエントリーをはてなブックマークに追加
0

contactform7でセレクトボックス使用時「お選びください」などの文言を表示させる

ディレクトリ階層が以下の場所を開く

wp-content > plugins > contact-form-7 > modules
の中の
select.phpを開くと87行目あたりから

	if ( $include_blank || empty( $values ) ) {
		array_unshift( $labels, '---' );
		array_unshift( $values, '' );
		$shifted = true;
	} elseif ( $first_as_label ) {
		$values[0] = '';
	}

と表示されているので、この’—‘ を書き換えるだけ

	if ( $include_blank || empty( $values ) ) {
		array_unshift( $labels, 'お選びください' );
		array_unshift( $values, '' );
		$shifted = true;
	} elseif ( $first_as_label ) {
		$values[0] = '';
	}

  • このエントリーをはてなブックマークに追加
0

カスタムフィールドで電話番号を使ってる時のハイフンの処理

表示上はハイフンがあってもいいが、aタグではハイフンを削除したい!

表題のとおりです。
カスタムフィールドを使う場合、下記のようにしたい。

<a href="tel:0300000000">03-0000-0000</a>

で、色々さがしてこうなった。

PHP

<?php 
$custum_tel = get_post_meta( get_the_ID(), 'custum_tel', 'true' );
$custum_tel_link = str_replace(array('-', 'ー', '-', '―', '‐','(',')','(',')',' ',' '),'',$custum_tel);
?>

※電話番号入力のカスタムフィールドではcustum_telというIDを定義しています。

テンプレート

<a href="tel:<?php echo esc_html($custum_tel_link);?>"><?php echo esc_html($custum_tel);?></a>
  • このエントリーをはてなブックマークに追加
0

wordpressの管理画面の表示が崩れた件 [kagoyaサーバー]

管理画面が壊れた?

2016年10月16日、突然管理画面がアイキャッチのような表示になってしまいました。
数日前も確認してたのですが、特に問題なかったので16日の前後に何かやらかしたのかと少し焦りました。

原因を確認

・管理画面の表示が崩れていたものの、クリックなどでページ移動することはできる
・Webページの方は表示に影響はない(クライアントのサイトもあるので不幸中の幸いでした)
・他のkagoyaで使ってるwordpressのサイトも同様に管理画面の表示のみ崩れていた。

解決・対処方法

結論から言うと、ルートディレクトリの.htaccessに
php_value output_handler noneと記述すると直りました。
この場所に記述するのが正しいのかは知識不足なので不明ですが、私のhtaccessの記述例は下記のようにしています。
kagoya_admin02

こちらのサイトを参考にしました。

http://kamadolog.com/kanrigamen-huguai/

このサイトの情報を見ると、2016年7月6日からおかしくなったとのことですが、
私がkagoyaを借りて使い始めたのは7月頃からで、そこからずっと普通にwordpressインストールして使えていました。
3ヶ月間何もなかったのはなんだろう。
サーバー自体は“マネージド専用サーバー 012 Atom”を借りており、phpのバージョンは現在7.0.10。

気になるのは直近の障害情報が10月13日に出てたことかなぁ
kagoya_admin03

  • このエントリーをはてなブックマークに追加
0

jetpackの注意点

Jetpackプラグインは便利で、私も活用しています。
akismetと連動していたり、ソーシャル連携が容易だったり、
wordpress.comのアカウントがあれば色々便利なプラグインです。

Jetpack

ところが一つだけ難点があったので備忘録。
続きを読む

  • このエントリーをはてなブックマークに追加
0

All in one SEO pack 最低限の設定について

WordPressのSEO対策といえば、All in one SEO pack!
プラグインをインストールするだけであら不思議!カンタンにSEO対策ができちゃうっ!
と、思ったけど意外と設定ややこしいです。
最初の手順も結構粘り強くやる必要があります。

プラグインはこちらからダウンロードできます。
http://wordpress.org/plugins/all-in-one-seo-pack/

「どうしたらいいのかわからない!」という人も多いかも、しれませんので
以下、このブログの設定を晒してみます。
続きを読む

  • このエントリーをはてなブックマークに追加
0

WPtouchを最近のアンドロイドに対応させる話。

私はiPhoneユーザーではないので、iPhoneでの見え方はユーザーエージェントなど使わないとわからないのですが(UAでも正確な情報はわからない場合がある)
続きを読む

  • このエントリーをはてなブックマークに追加
0