カスタムフィールドを表示させる手順
・プラグインAdvanced Custom Fieldsをインストールフィールド名:comment でカスタムフィールドを設定
・プラグインMeta Field Blockをインストール
xxx.html編集
<!-- wp:mfb/meta-field-block {"fieldType":"acf","fieldName":"comment"} /-->
<!-- wp:mfb/meta-field-block {"fieldType":"acf","fieldName":"comment"} /-->
・ <ul class="portfolio"> <!-- wp:query {"queryId":1,"query":{"offset":0,"postType":"portfolio","categoryIds":[],"tagIds":[],"order":"desc","orderBy":"date","author":"","search":"","sticky":""}} --> <!-- wp:post-template {"align":"wide"} --> <li><!-- wp:post-featured-image {"isLink":true,"sizeSlug":"thumbnail"} /--></li> <!-- /wp:post-template --> <!-- /wp:query --> </ul> ・
function sendmail_post_article($new_status, $old_status, $post) { $active_posttype = 'news'; // 記事のカテゴリ $mail_to = 'xxx@kowloonet.net'; $mail_from_name = "小黒のtechメモ(仮)"; $mail_from = 'yyy@kowloonet.net'; $from = mb_encode_mimeheader($mail_from_name)." <$mail_from>"; $mail_subject = '【NEWS】'; $headers[] = 'Content-Type: text/html; charset=UTF-8'; $headers[] = "From: ".$from; $headers[] = "Sender: ".$from; $headers[] = "Reply-To: ".$mail_from; $headers[] = "X-Sender: " . $mail_from; $headers[] = "X-Priority: 3"; if ($new_status == 'publish' && $old_status != 'publish' && $post->post_type == $active_posttype) { /** HTML to txt **/ $content = preg_replace('/
/i', "\n", $post->post_content); $content = strip_tags($content); $content = html_entity_decode($content); $content = preg_replace("/\r\n|\r|\n/us", "\n", $content); $content = preg_replace("/\n[^\S\n]+/us", "\n", $content); $content = trim(preg_replace("/(\r\n){3,}|\r{3,}|\n{3,}/us", "\n\n", $content)); /**// HTML to txt **/ $message .= $content."\n\n詳しくはこちら↓\n"; $message .= get_permalink($post->ID)."\n\n\n"; $attachments = []; //添付ファイルがあれば wp_mail($mail_to, $mail_subject, $message, $headers, $attachments); } } add_action('transition_post_status','sendmail_post_article' , 10, 3)
error_log('$new_status: '.$new_status); error_log('$post->post_type: '.$post->post_type); error_log(print_r($post, true ));wp-content/debug.log
# vi /etc/php.ini
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = UTF-8
mbstring.http_output = UTF-8
mbstring.encoding_translation = Off
# systemctl restart httpd
# systemctl restart php-fpm
phpinfo()で確認。移行前 | 移行後 |
---|---|
http://kowloonet.net/ | http://192.168.1.100/wordpress/ |
# tar cvzf wordpress.tar.gz wordpress wordpress/ wordpress/wp-config.php wordpress/index.php wordpress/license.txt wordpress/readme.html ・ ・圧縮されたファイル wordpress.tar.gz が生成されますので、
tar cvzf 圧縮後のファイル名.tar.gz ファイル名
tar zxvf ファイル名.tar.gz
zip 圧縮後のファイル名.zip -r ファイル名
unzip ファイル名.zip unzip ファイル名.zip -d 展開先ディレクトリ
# mysqldump -uユーザ名 -p wordpress_db > wordpress_db_dump.sqlwordpress_db_dump.sql が作成されますので、こちらもFTP等でダウンロード。
# cd /var/www/html/ # tar zxvf wordpress.tar.gz wordpress/ wordpress/wp-config.php wordpress/index.php wordpress/license.txt ・ ・
# chown -R apache:user wordpress/所有者をapache
# find wordpress/ -type d -exec chmod 775 {} \; # find wordpress/ -type f -exec chmod 664 {} \;
# chmod 606 ./wordpress/.htaccess # chmod 404 ./wordpress/wp-config.php※サーバー移転などでの本番環境のパーミッションはサイトルールに従ってください。
# cd wordpress/ # ls -la | awk 'NR>1{cmd="stat "$NF" -c %a";cmd|getline c;close(cmd);print c,$0}' 775 drwxrwxr-x 6 apache user 4096 Nov 20 11:53 . 755 drwxr-xr-x 12 user user 4096 Nov 20 11:00 .. 775 drwxrwxr-x 2 apache user 4096 Nov 18 18:24 img 664 -rw-rw-r-- 1 apache user 420 Nov 18 13:10 index.php 664 -rw-rw-r-- 1 apache user 19550 Nov 18 13:09 license.txt 664 -rw-rw-r-- 1 apache user 68 Nov 18 13:10 php.ini 664 -rw-rw-r-- 1 apache user 7447 Nov 18 13:09 readme.html 664 -rw-rw-r-- 1 apache user 6919 Nov 18 13:09 wp-activate.php 775 drwxrwxr-x 9 apache user 4096 Nov 18 18:24 wp-admin 664 -rw-rw-r-- 1 apache user 369 Nov 18 13:09 wp-blog-header.php 664 -rw-rw-r-- 1 apache user 2340 Nov 18 13:09 wp-comments-post.php 664 -rw-rw-r-- 1 apache user 4450 Nov 18 13:09 wp-config.php 664 -rw-rw-r-- 1 apache user 3807 Nov 18 13:09 wp-config-sample.php 775 drwxrwxr-x 8 apache user 4096 Nov 18 18:24 wp-content 664 -rw-rw-r-- 1 apache user 3847 Nov 18 13:09 wp-cron.php 775 drwxrwxr-x 20 apache user 12288 Nov 18 18:24 wp-includes 664 -rw-rw-r-- 1 apache user 2502 Nov 18 13:09 wp-links-opml.php 664 -rw-rw-r-- 1 apache user 3306 Nov 18 13:09 wp-load.php 664 -rw-rw-r-- 1 apache user 39551 Nov 18 13:09 wp-login.php 664 -rw-rw-r-- 1 apache user 8403 Nov 18 13:09 wp-mail.php 664 -rw-rw-r-- 1 apache user 18962 Nov 18 13:09 wp-settings.php 664 -rw-rw-r-- 1 apache user 31085 Nov 18 13:09 wp-signup.php 664 -rw-rw-r-- 1 apache user 4764 Nov 18 13:09 wp-trackback.php 664 -rw-rw-r-- 1 apache user 3068 Nov 18 13:09 xmlrpc.php
デーーベース名 | wordpress_db |
MySQLユーザ名 | user |
MySQLパスワード | 1234 |
データベースサーバー | localhost |
# cd wordpress/ # vi wp-config.php
/** WordPress のためのデータベース名 */ define('DB_NAME', 'wordpress_db'); /** MySQL データベースのユーザー名 */ define('DB_USER', 'user'); /** MySQL データベースのパスワード */ define('DB_PASSWORD', '1234'); /** MySQL のホスト名 */ #define('DB_HOST', 'mysql.xxxxxxx.com'); define('DB_HOST', 'localhost'); ・ ・ /** * WordPress データベーステーブルの接頭辞 * * それぞれにユニーク (一意) な接頭辞を与えることで一つのデータベースに複数の WordPress を * インストールすることができます。半角英数字と下線のみを使用してください。 */ $table_prefix = 'wp369041';vi を使わずにテキストエディタで修正したものを配置しても同じです。
# mysql -uuser -p mysql>CREATE DATABASE wordpress_db;
# mysql -uuser -p1234 wordpress_db< wordpress_db_dump.sqlコマンドが使えない場合はmysqladminを利用して下さい。
mysql> USE wordpress_db mysql> SELECT * FROM wp369041options WHERE option_name IN ('home','siteurl'); +-----------+-------------+-------------------------------+----------+ | option_id | option_name | option_value | autoload | +-----------+-------------+-------------------------------+----------+ | 2 | home | http://kowloonet.net/ | yes | | 1 | siteurl | http://kowloonet.net/ | yes | +-----------+-------------+-------------------------------+----------+ 2 rows in set (0.00 sec) mysql> UPDATE wp369041options SET option_value = 'http://192.168.128.100/wordpress/' where option_name IN ('home','siteurl');本番環境のwp-adminの管理者ユーザのパスワードは長くて複雑な場合が多々あるので、
mysql> SELECT * FROM wp369041users;で確認。
mysql> SELECT u.user_login FROM wp369041users u, wp369041usermeta um WHERE u.ID = um.user_id AND um.meta_key LIKE '%capabilities' AND um.meta_value LIKE '%administrator%'; +------------+ | user_login | +------------+ | admin | | user | +------------+ 2 rows in set (0.00 sec)ユーザ名「admin」のパスワードを「pass」に変更します。
mysql>UPDATE wp369041users SET user_pass = MD5('pass') WHERE user_login = 'admin';必要があれば管理者のメールドレスも変更。
mysql> update wp369041users set user_email = 'メールアドレス' WHERE user_login = 'admin';http://192.168.1.100//wordpress/
<?php $posttype = 'schedule'; $args = array( 'posts_per_page' => -1, 'post_type' => $posttype, 'post_status' => 'publish', 'orderby' => 'meta_value', 'order' => 'ASC', 'meta_key' => 'schedule_date', 'meta_query' => array('key' => 'schedule_date', 'value' => date('Y').'0101', 'compare' => '>=', 'type' => 'DATE' ), ); $the_query = new WP_Query($args);
<?php
$posttype = 'schedule';
$args = array(
'posts_per_page' => -1,
'post_type' => $posttype,
'post_status' => 'publish',
'orderby' => 'meta_value',
'order' => 'ASC',
'meta_key' => 'schedule_date',
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'schedule_date',
'value' => date('Y').'0101',
'compare' => '>=',
'type' => 'DATE'
),
array(
'key' => 'schedule_date',
'value' => date('Y').'1231',
'compare' => '<=',
'type' => 'DATE'
)
)
);
$the_query = new WP_Query($args);