前提・実現したいこと
▼カスタム投稿:施工例
カスタムフィールド(画像):works_pic
▼カスタム投稿:新着情報
カスタムフィールド (画像):news_pic
の2つがあった際に、
施工例を更新すると、自動で新着情報にも下記内容を更新したい。
(できれば、施工例投稿の際にチェックボックスをつけて、自動投稿するかどうかを選択したい)
==========================
・タイトル
施工例を投稿しました。(固定文)
・本文
施工例を投稿しました、下記よりご覧ください。(固定文)
施工例へのボタン(固定文)
works_picの画像
↑
single-news.phpには下記記載をしているので、
works_picをnews_picに代入できれば。。。と思っております。
<?php if (post_custom('news_pic')) : ?> <img src="<?php echo esc_url(wp_get_attachment_url($post->news_pic)); ?>" alt=""> <?php endif; ?>
==========================
該当のソースコード
function add_news($post_id) { global $wpdb; $post_type = get_post_type($post_id); if ($post_type == 'works') { $title = "施工例を投稿しました"; $post_id_new = wp_insert_post( array( 'comment_status' => 'closed', 'ping_status' => 'closed', 'post_title' => $title, 'post_status' => 'publish', 'post_type' => 'news', ) ); } } add_action('publish_works', 'add_news');
試したこと
関数リファレンス/wp insert post
上記関数にて、自動投稿されるまではできましたが、
・カスタムフィールド works_pic → news_pic への連動
・本文の設定(固定文とボタン)
・施工例投稿の際の自動投稿の有無をチェックボックス で決める
この3点が解決できず、こちらに投稿をさせていただきました。
有識者の方がいらっしゃいましたら、教えていただけますと幸いです。
どうぞ宜しくお願い致します。
追記
下記コードにて自動投稿まではできました。
あとはカスタムフィールド の値によって、「自動投稿の有無を選べるようにする方法」で行き詰まっています。
function function_copying_posts() { global $post; if ($post->post_type == 'works') { $current_postID = $post->ID; $hoge_name = $_POST['acf']["キー"]; $hoge_linkage = $_POST['acf']["キー"]; // 自動投稿するときのステータスをここで指定 $draft_my_options = array( 'post_title' => get_the_title($current_postID), 'post_content' => '', 'post_status' => 'publish', 'post_type' => 'news' ); $newpost_id = wp_insert_post($draft_my_options); if ($newpost_id) { // カスタムフィールドに値を挿入しています。 update_post_meta($newpost_id, 'news_pic', $hoge_name); update_post_meta($newpost_id, 'news_linkage', $hoge_linkage); } } } add_action('publish_works', 'function_copying_posts', 9);
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/22 14:32
2021/08/22 18:17
2021/08/23 05:17