Skip to content

PC問題解決!

  • ホーム

投稿者: Taka

WordPressでログインを強制的に失敗させ、シェイク(ふるふる)させたい

Posted on 2019年8月30日2019年8月23日 by Taka

【問題】
WordPressでログインを強制的に失敗させ、シェイク(ふるふる)させたい

【解決方法】

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function force_fail_to_login(){
add_filter( 'authenticate', 'add_custom_error_code', 40, 1 );
}
 
add_action( 'wp_authenticate', 'force_fail_to_login', 5, 1 );
 
function add_custom_error_code(){
// エラーコードとエラーメッセージを設定
return new WP_Error( 'err_force_fail_to_login', '強制的にログインを失敗させました' );
}
 
// シェイクを発生させるエラーコードを追加
function add_shake_error_code( $shake_error_codes ){
$shake_error_codes[] = 'err_force_fail_to_login';
return $shake_error_codes;
}
add_filter( 'shake_error_codes', 'add_shake_error_code', 10, 1 );
 

【備考】
独自のログイン条件を追加しログインを失敗させた後、フォームをシェイクさせたい場合、上記のコードをテーマ内のfunctions.phpにコピーします。

また、ログインを失敗させただけではフォームはシェイクしませんので、シェイクを呼び出すエラーコードを追加します。

この投稿は役に立ちましたか? 役に立った 1人中1人がこの投稿は役に立ったと言っています。
Posted in Wordpress

WordPressでアカウントごとに最大同時ログイン数を制限したい

Posted on 2019年8月23日2019年8月23日 by Taka

【問題】
WordPressでアカウントごとに最大同時ログイン数を制限したい

【解決方法】

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function check_current_account_login_session( $user_login ){
 
$user = get_user_by( 'login', $user_login );
$userID = $user->data->ID;
$manager = '';
$manager = WP_Session_Tokens::get_instance( $userID );
$allSession = '';
$allSession = $manager->get_all();
 
      // 最大同時ログイン数
$iAcceptableMaxSession = 3;
 
      // ログインしようとしているアカウントの現在のログイン数
$iCurrentUserAllSession = count( $allSession );
 
if( $iAcceptableMaxSession < $iCurrentUserAllSession ){
 
add_filter( 'authenticate', 'set_authentication_error', 40, 1 );
}
}
 
add_action( 'wp_authenticate', 'check_current_account_login_session', 5, 1 );
 
function set_authentication_error(){
return new WP_Error( 'over_login_session_limit', '有効同時ログイン数が上限に達しています。' );
}

【備考】
一つのアカウントを複数人で使用されたくない場合、上記のコードをテーマフォルダ内のfunctions.phpにコピーすることで、アカウントの同時ログイン数を制限出来ます。

WordPressのログイン認証時に発動するwp_authenticateフックに、ログインしようとしているユーザーの現在のログインセッション数を取得する処理を追加しています。

もし、最大ログイン数をオーバーしていた場合、authenticateフックにWP_Errorオブジェクトを与えることで、ログインを失敗させています。

この投稿は役に立ちましたか? 役に立った 2人中2人がこの投稿は役に立ったと言っています。
Posted in Wordpress

Chromeで埋め込み動画が再生されない

Posted on 2018年5月30日 by Taka

【問題】

Google Chromeで<video>タグを使って埋め込んだ動画が再生されなくなった

 

【解決方法】

<video>タグにmuted属性を追加する

<video autoplay muted loopsrc=””>

 

【備考】

Chrome66から音声付動画の自動再生が許可されなくなりました。

そのため<video>タグにmuted属性を与え無音にすることで、今まで通り自動再生されます。

この投稿は役に立ちましたか?
役に立った
2人中2人がこの投稿は役に立ったと言っています。

Posted in ウェブ

register_activation_hookを使用すると「予期しない出力」のエラーがでる

Posted on 2018年4月5日 by Taka

【問題】

register_activation_hookをクラス内で使用しプラグインを作成する際に、「予期しない出力」や「header already sent」のエラーが出る。

 

【解決】

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class TestClass{
 
  $property = '';
 
  function __construct(){
    if(function_exists('register_activation_hook')){
      register_activation_hook(__FILE__, array($this,'testFunc'));
    }
 
  public function testFunc(){
    $this->property = 'property';
  }
 
  }
}

①register_activation_hookで実行する関数はprivateではなくpublicにしましょう。

 

②register_activation_hookで実行する関数内ではechoなどの出力をしないようにしましょう。

 

【備考】

①フックして実行する関数がprivate関数だとエラーになります。

②関数を実行する際にechoをするとエラーになります。

この投稿は役に立ちましたか?
役に立った
3人中3人がこの投稿は役に立ったと言っています。

Posted in Wordpress

phpMyAdminでテーブルの削除が出来ない

Posted on 2018年4月5日 by Taka

【問題】

phpMyAdminでテーブルを選択した状態で、削除を押してもテーブル一覧から削除されない。

 

【解決方法】

GoogleChromeを使用しましょう。

 

【備考】

上記の問題はFireFoxで起きるバグです。その為GoogleChromeを使用すれば解決します。FireFoxでもSQLタブからクエリを実行すればテーブルを削除できます。

この投稿は役に立ちましたか?
役に立った
2人中2人がこの投稿は役に立ったと言っています。

Posted in その他, ウェブ

wp-membersを使用したユーザー登録時にwp_usermetaを更新したい

Posted on 2018年3月30日2018年3月30日 by Taka

【問題】wp-membersを使用したユーザー登録の時にwp_usermetaのmeta_valueを取得したい。

 

【解決方法】
アクションフックに’wpmem_register_redirect’を使用する

PHP
1
2
3
4
5
6
7
8
9
add_action('wpmem_register_redirect', 'successFunc');
function successFunc(){
  global $wpdb;
  $sql = 'select meta_value from wp_usermeta where user_id = 1 and meta_key = "original_key";';
  $res = $wpdb->get_results($sql);
  $meta_value = $res[0]->meta_value;
 
  return $meta_value;
}

【備考】
wp-membersで新しくフィールドを追加し、ユーザー登録をしたタイミングで独自にデータベースを更新したい場合があります。

 

独自に追加したフィールドの値はwp-membersプラグイン内で処理をされる為、ユーザー登録時のフックである’user_register’を使用してもまだ更新はされていません。

 

アクションフックとして’wpmem_register_redirect’を使用することで、wp-membersでの登録処理が終わったタイミングにフックをかけることができるので、wp-usermetaの値が取得できます。

この投稿は役に立ちましたか?
役に立った
3人中3人がこの投稿は役に立ったと言っています。

Posted in Wordpress

MailPoetでショートコードを使用する方法

Posted on 2018年3月16日2018年10月15日 by Taka

【問題】
MailPoetのニュースレター内にオリジナルのショートコードを使用したい。

 

【解決方法】
functions.phpに以下を記述

1
2
3
4
5
add_filter('mailpoet_newsletter_shortcode', 'mp_testShortCode', 10, 5);
function mp_testShortCode($shortcode, $newsletter, $subscriber, $queue, $newsletter_body){
if ($shortcode !== '[custom:testCode]') return $shortcode;
$testCode = 'success!';return $testCode;
}

ニュースレター内に[custom:testCode]を記入
【備考】
MailPoetのニュースレターにWordpress標準のショートコードを使用することはできません。
しかしながら、上記のMailPoet用のショートコードを作成し呼び出すことで、MailPoetのニュースレターをより柔軟にレイアウトすることが可能です。

この投稿は役に立ちましたか?
役に立った
4人中4人がこの投稿は役に立ったと言っています。

Posted in Wordpress

オリジナルのダッシュボードのアイコン(ダッシュアイコン)設定方法 – WordPressプラグイン

Posted on 2018年1月29日2018年3月30日 by Taka

【問題】
WordPressのプラグインを作成する時にオリジナルのダッシュボードアイコン(ダッシュアイコン)をメニューに設定したいことがあります。

 

【解決法】

add_menu_page(‘HTMLのタイトルタグ’,’メニュー’, ‘level_8’, ‘slug’, ‘calledFunc’, ‘https://cdn4.iconfinder.com/data/icons/iconsimple-communication/512/mailbox-16.png’, 26);

function calledFunc(){
echo ‘ここがページになります’;
}

 

 

【備考】
Wordpressでプラグインを作成する時に、管理メニューのダッシュボードアイコンをWordpressが用意しているもの以外のオリジナルのアイコンにしたい場合があります。

 

その際は、Wordpress関数であるadd_menu_pageの第6引数に画像へのパスを指定すれば設定できます。

※アイコンサイズは20×20ピクセル以下で作成してください。

それぞれの引数の詳しい情報は「Wordpress関数リファレンス add_menu_page」をご覧ください。
https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/add_menu_page

この投稿は役に立ちましたか?
役に立った
2人中2人がこの投稿は役に立ったと言っています。

Posted in Wordpress

カテゴリー

  • Linux
  • PHP
  • Thunderbird
  • Wordpress
  • その他
  • ウェブ
  • エクセル
  • ネットワーク

最近の投稿

  • Chromeのソースコードが文字化けする
  • WordPress(ワードプレス)でマルチサイト化を有効にする方法
  • ファイルサイズが肥大化したExcelを直す方法(Excel for Microsoft 365)
  • Thunderbird(サンダーバード)の軽量化
  • redirect permanentを使って.htaccessに1行でサイト丸ごとリダイレクト
  • MailPoetでカラムを追加すると、ページからはみ出し、コンテンツを追加すると古いテキストが一緒に表示される
  • ダウンロードしてしまった過去のメールから添付ファイルを分離・削除する方法(Thunderbird)
  • IMAP設定したThunderbirdが重たくなったのを軽くする方法(高速化)
  • WordPressでログインを強制的に失敗させ、シェイク(ふるふる)させたい
  • WordPressでアカウントごとに最大同時ログイン数を制限したい
  • Outlookで受信したメールが文字化けする
  • エクセルのフィルタで候補が出ない
  • Windows Update (0x8024401c)でエラーが出る
  • Windows 10 – Windows Updateでエラーが出る
  • 1行で書く.htaccess リダイレクト(転送:redirect)の設定方法 – 正規表現不要
  • ディスクの初期化でMBRとGPTの違いを知りたい
  • 新しいハードドライブ(HDD)をインストールしたが、Windowsがディスクを認識しない
  • WordPressで画像アップロード時『HTTP エラー。』が出る
  • Widows 共有フォルダの設定方法
  • Windows 共有フォルダにアクセスできない
Powered by Headline WordPress Theme