MW WP FORM で 商品名を自動で入れる方法

2018/04/07

この記事は2018年05月18日に更新されました。

僕は結構好んで「MW WP FORM」を使っている。 今回は商品のお問い合わせとしてお問い合わせボタンを押したらお問い合わせページに飛んだら、自動でその商品の名前が入っているというものを作ろうと思う。↑イメージはこんな感じ。

mwform_value_mw-wp-form-xxx を使う

公式でも書かれているものだけど、この関数を使えば実装できる。

ボタン実装

single.php

<?php
  $get_page_id = get_page_by_path('mw-wp-form');
  $page_id = $get_page_id->ID;
?>
<a href="<?php echo the_permalink($page_id); ?>/?item=<?php echo get_the_ID(); ?>">ボタン</a>
  

機能実装

MW WP Form

[mwform_text name="itemname"]
  

functions.php

function my_mwform_value( $value, $name ) {
  if ($name === 'itemname' && !empty($_GET['item']) && !is_array($_GET['item'])) {
    $itemId = $_GET['item'];
    $itemName = ( get_post_status($itemId) == 'publish' && get_post($itemId)->post_type == 'post' ) ? get_the_title($itemId) : $value; 
    return $itemName;
  }
  return $value;
}
add_filter( 'mwform_value_mw-wp-form-xxx', 'my_mwform_value', 10, 2 );
  

xxxはMW WP Formでフォームを作った際にできるショートコードのkeyの数字を入れてください。 [mwform_formkey key="172"]だったらxxx172