2017-10-08 3 views
1

私はWordpressでACFプラグインを使用して、クライアントがホームページ上のフルスクリーンの背景イメージとして使用されるイメージをアップロードできるようにしています。私は週の曜日に対応するフィールドを持っており、今週の現在の曜日を取得するためにデータベースにクエリを行い、対応するイメージを表示したいと考えています。私はPHPには新しく、私が間違っていることを見つけることができませんでした。提案に感謝します。wordpress phpのエラー

function my_custom_background ($today) { 

$today = date('l'); 

if ($today == 'Saturday') 
echo [] ?> <style>body.page-id-5 {background-image: url(<?php echo get_field('saturday'); ?>);}</style><?php; 

if ($today == 'Sunday') 
echo [] ?> <style>body.page-id-5 {background-image: url(<?php echo get_field('sunday'); ?>);}</style><?php; 

if ($today == 'Monday') 
echo [] ?> <style>body.page-id-5 {background-image: url(<?php echo get_field('monday'); ?>);}</style><?php; 

if ($today == 'Tuesday') 
echo [] ?> <style>body.page-id-5 {background-image: url(<?php echo get_field('tuesday'); ?>);}</style><?php; 

if ($today == 'Wednesday') 
echo [] ?> <style>body.page-id-5 {background-image: url(<?php echo get_field('wednesday'); ?>);}</style><?php; 

if ($today == 'Thursday') 
echo [] ?> <style>body.page-id-5 {background-image: url(<?php echo get_field('thursday'); ?>);}</style><?php; 

if ($today == 'Friday') 
echo [] ?> <style>body.page-id-5 {background-image: url(<?php echo get_field('friday'); ?>);}</style><?php; 
} 

add_action('wp', 'my_custom_background'); 
+0

戻り値としてacfで設定したものacfからファイルのアップロードフィールドを作成する際には、id、url –

+1

ようこそ!エラーが発生した場合は、他の人が問題を理解できるように、エラーの詳細を質問に追加することが重要です。可能であれば、エラーメッセージとスタックトレースを追加してください。 –

+0

Akshayの戻り値はURLです – Kumara

答えて

2

まず、この構文で何を達成しようとしていますか?

echo [] ?> .... <?php; 

スタイルのPHPモードを終了して空の配列をエコーし​​ても意味がありません。私は、部分的に削除されているいくつかの配列の変更があったと仮定します。あなたはそれを必要としません。あなたのフィールドがズバリと命名されているので

、あなたのコードを簡素化することができます

function my_custom_background() { 
    $today = date('l'); 
    ?><style>body.page-id-5 {background-image: url(<?php echo get_field(strtolower($today)); ?>);}</style><?php 
} 

あなたはwpアクションフックでこれを行うべきではありません、しかし、それは早すぎるリクエストのライフサイクルのです。 wp_headは、それはまだ動作しない場合ので、それは実際にこの問題を作成するのコードではなく例えば、テンプレート内のいくつか忘れてしまった、ハードコードのテストだということを確認して、

add_action('wp_head', 'my_custom_background'); 

を追加し、より適切です。 WebページのHTMLソースを開き、出力を探します。関数内の出力を変更すると、それが変化するかどうかを確認してください。