2016-11-11 8 views
0

電子メールという名前のカスタム投稿タイプを作成し、電子メールフッターと呼ばれるカスタム投稿タイプ内の1つのポストに高度なカスタムフィールドプラグインを使用してカスタムフィールドを追加しました。各自動電子メールの下部はWebサイトから出ます。電子メールにカスタムフィールド値を送信

は私が

function wpcf7ev_verify_email_address2($wpcf7_form){ 
    $email_footer = '<html> 
<body style="color:#000000;"> 
<div style="font-size:16px;font-weight:bold;margin-top:20px;"> 
Regards, 
<br/> 

$email_footer .= '<img src="http://mysite.col/footer_image.jpg" width="100%" alt=""/> 
</div>'; 
$email_footer .='<div style="display:none;">'.generateRandomString(). 
'</div></body> 
</html> 
'; 
コードが動作している

を使用している現在のコードは、それが底にこのURLで画像を表示します。http://mysite.col/footer_image.jpg

が、私はハードコードされたくない、私がしたいです

私はACFのドキュメントを見て、これを見つけましたが、カスタムポストタイプに正確なフィールドを表示するためにそれを使用する方法がわかりません:

<?php 

$image = get_field('image'); 

if(!empty($image)): ?> 

    <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" /> 

<?php endif; ?> 

答えて

1

ACFのドキュメントから概説したコードは、Image(配列型)を使用してACFフィールドからイメージを取得する方法を示しています。

これを関数に実装する場合は、ページのどこかのイメージを参照する必要があります。どのようにこれを呼んでいるのかわからなければ、それを埋め込むことができる方法がいくつかあります。

最初の方法は、我々は

function wpcf7ev_verify_email_address2($image, $wpcf7_form) 
{ 
    $email_footer = '<div style="font-size:16px;font-weight:bold;margin-top:20px;">Regards,<br/>'; 
    // get the image from the passed in image function. 
    $email_footer .= '<img src="' . $image['url'] . '" width="100%" alt="' . $image['alt'] . '"/></div>'; 
    $email_footer .='<div style="display:none;">' . generateRandomString() . '</div>'; 
} 

...そう...その後

wpcf7ev_verify_email_address2(get_field('image')); 

とはそうのようなあなたの機能を更新するように、ページ上で呼び出される関数へを通してそれを渡しますか、 2番目の方法は、アクションや何かを変更する関数を呼び出す場合は、ACVF設定で割り当てられているページID /オプションのページからイメージを取得する必要があります。

function wpcf7ev_verify_email_address2($wpcf7_form) 
{ 
    // get image acf field from page with id 1 
    $image = get_field('image', 1); 

    // or get image from acf field on options page 
    // $image = get_field('image', 'options'); 

    $email_footer = '<div style="font-size:16px;font-weight:bold;margin-top:20px;">Regards,<br/>'; 
    $email_footer .= '<img src="' . $image['url'] . '" width="100%" alt="' . $image['alt'] . '"/></div>'; 
    $email_footer .='<div style="display:none;">' . generateRandomString() . '</div>'; 
} 

上記のすべては、あなたの関数が意図したとおりに、あなたがACFフィールドをつかんで助けを必要とし、取り組んでいる、と画像がアップロードされると仮定されています。これは、あなたの関数は少しこのように見えるようになります。必要に応じて、get_fieldの宣言をifステートメントにラップすることができます。