ContactForm7で現在ページのURLを送る方法。 #カスタマイズ

2023.05.27

Logging

おはようございます。ContactForm7で現在ページのURLを送る方法です、全ての記事の下にお問い合わせフォームを設置している人はあまりいないかもしれないけれど。そのあまりいない人の一人です😂。

記事の下にショートコードを設置するにはプラグインを自作するか、テンプレート内に埋め込むかどちらかだと思います。自分は前者のプラグインを自作してショートコードを埋め込んでいます。

ショートコードを埋め込むコードはこんなコードです。

<?php
do_shortcode('[contact-form-7 id="XXXX" title="comment"]')

これで全記事にショートコードを埋め込むことが可能ですがこれだけでは動きません。こんな感じのプラグインを作ってみてください。プラグインの設置方法などはググって下さい。

<?php
/*
  Plugin Name: comment-add
  Plugin URI:
  Description: 記事の下にアドセンス広告などを貼り付けるのに使用
  Version: 1.0.0
  Author: @zip358com
  Author URI: https://www.zip358.com
 */


function comment_add($content)
{
    if (is_single() && 'post' == get_post_type()) {
        $content = $content.do_shortcode('[contact-form-7 id="xxxx" title="comment"]');
        return $content;
    } else {
        return $content;
    }
}
add_filter('the_content', 'comment_add');
remove_filter('the_content', 'wpautop');

これだけでは、どのページから問い合わせしたのか分からないので、名前などの入力欄以外に入力欄を設置します。次に設置したそのNoを控えて下さい。

<script>
//Contact Form 7 現在ページのURL
if(document.querySelectorAll("[name='text-564']")){
    [...document.querySelectorAll("[name='text-564']")].forEach(elm=>{
        elm.setAttribute("type","hidden");
        elm.value = decodeURIComponent(location.href);
    });
}
</script>

上記のコードを</body>タグ直前に設置してください。設置後、text-564を控えたNoに変更シテクダサイこれで設置が完了です☹。

⚠ContactForm7のメール送信欄にも控えたNoを設置してください。これで完了です!!
最後に送信のご確認を忘れずに😐。

タグ

add_filter, body, comment-add, decodeURIComponent, description, document.querySelectorAll, elm, else, foreach, hidden&quot, lt, php, php do_shortcode, quot, remove_filter, return, setAttribute, title, Version, wpautop,

ブルータス、お前もか?古代の暗号シーザー。 #phpcode

2023.04.30

Logging

おはようございます。古代にも暗号というものがあったらしい。古代の人が使っていたシーザーという暗号をPHP化しました。demo74のページを見ると実行結果が表示されていると思います。

古代にはPCというものが無かったので、これでも解読するのにある程度、時間がかかったんでしょうね。ぱっと見、暗号化されているのは分かるけど瞬時に解読できる人はあまりいなかっただと思います。近年では量子暗号とか、パッと見どころかPCがあっても鍵が無いと解読に途方も無い時間を費やする暗号までありますよね。そう思うと暗号の歴史を辿るのも面白いかもしれないですね。

<?php
function caesarCipher($str, $shift) {
  $result = "";
  $len = strlen($str);
  // 26文字のアルファベットを配列として定義する
  $alpha = range('a', 'z');
  
  for ($i = 0; $i < $len; $i++) {
    $char = strtolower($str[$i]); // 大文字を小文字に変換する
    if (in_array($char, $alpha)) { // アルファベットの場合のみシフトする
      $index = array_search($char, $alpha); // アルファベットの位置を検索する
      $newIndex = ($index + $shift) % 26; // シフト後のアルファベットの位置を計算する
      $result .= $alpha[$newIndex]; // シフト後のアルファベットを結果に追加する
    } else {
      $result .= $char; // アルファベット以外はそのまま結果に追加する
    }
  }
  return $result;
}

// 使用例
$plaintext = "hello world";
$ciphertext = caesarCipher($plaintext, 3);
echo $ciphertext; // "khoor zruog"

タグ

$alpha, $ciphertext, $len, $newIndex, $plaintext, $shift, caesarCipher, char, echo, else, lt, quot, range, result, return, STR, strlen, シーザー, 小文字, 解読,

物理的ルーターがIPv6だと。

2020.12.12

Logging

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

物理的ルーターがIPv6で通信しているとcomposerがインストール出来ず、エラーを出力することがある。(virtualBOXの話)今どき、IPv4ってどうなのかと思ったけど、そういう事らしいのでネットワーク設定から物理的ルーターの設定までIPv4に統一するべしです。VPSを使用している人はそこのところは問題ないとは思うものの、例えばAWSやGCPなどを使用している場合はそこも関係してくる場合があるかもしれないので、注意してください。

これが分からずに20分間、PHP.iniの設定やモジュールが足りないのかななど違うことで、探っていました。なんだか、サーバで同じ間違いをまた繰り返しそうなのでメモとして残しときます。

タグ

-r, 0, 036, 07, , 1545, 228516, 27, , 37, 384, 39, 4, 4488, 46, 56153228907, 59, 6, 62, 63, 7, 756890, 76181, 885, , 9024, af, cbf, ce, com, composer-setup, copy, corrupt, echo, ee, else, EOL, fc, file, getcomposer, hash, https, if, installer, IPv, org, php, quot, sha, unlink, verified, ルーター,

MYSQLのif文みたいなものを使用する機会が物凄く少ない気がする。

2019.05.18

Logging

### mysql case = if文みたいなもの
```sql
select namae,tensu
case when (tensu >= 75 and tensu <= 80)  then '可'
when (tensu >= 25 and tensu < 75)  then '否' else '???' end as kahi
from tbl;
table name tbl
|namae|tensu|
|---|---|
|hirose|77|
|non|76|
|arimura|78|
|aragaki|80|

mysql case = if文みたいなものを使用する機会が物凄く少ない気がする。
プログラム言語って使用しなければ抜け落ちるです。
自分の場合、たぶん長期的な記憶に障害があって抜け落ちるですw🙄。
メモしたことすら忘れてしまう…これは痛い老害?。

でも、好きな事は大体覚えていますね、概念的な事を覚えていたら大丈夫です😌。
 
 

タグ

```, 25, 39, 75, 76, 77, 78, 80, and, aragaki, arimura, as, case, else, end, from, gt, hirose, if, kahi, lt, MYSQL, namae, name, non, select, SQL, TABLE, tbl, tensu, then, when, こと, プログラム, メモ, もの, 使用, , , 場合, , 機会, , 自分, 言語, 記憶, 障害,