2017-10-08 60 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

歡迎來到SO!當您遇到錯誤時,將錯誤詳細信息添加到問題中以幫助其他人瞭解問題非常重要。如果可用,請添加錯誤消息和堆棧跟蹤。 –

+0

Akshay acf的返回值是url – Kumara

回答

2

首先,你想用這個語法來完成什麼?

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

如果您要退出樣式的php模式,並且回顯空數組對我沒有任何意義,則不需要echo。我假設原來有一些數組修改正在進行,部分已被刪除。你不需要那個。

由於你們的田地,恰當命名,可以簡化您的代碼:

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'); 

如果還是不行,請確保它實際上是這個代碼,是創造的問題,而不是在模板例如一些被遺忘的硬編碼的測試。打開網頁的HTML源代碼並查找輸出。看看它是否改變,如果你改變功能的輸出。