2017-09-18 95 views
0

我需要更新了一堆的形式與像定期這個選項裏面WP簡碼:html標籤

<option value="Asym. Spinnaker Std colors Size 4{p:1000usd|c:US-SPI-FSASY|y:US-SPI-S}">Std. Color Asym. Spinnaker – Size 4 – $ 1000</option> 

我創建了一個簡短的代碼讀取數據需要更新過的.csv文件和「應「更新形式:

<option value="Asym. Spinnaker Std colors Size 4{p:[price line = "2" column = "5"]usd|c:US-SPI-FSASY|y:US-SPI-S}">Std. Color Asym. Spinnaker – Size 4 – $ [price line = "2" column = "5"]</option> 

不幸的是,短代碼不被解釋的標籤內,只有簡碼的第二個實例作品 - 第一個是剛剛呈現爲是:

<option value="Asym. Spinnaker Std colors Size 4{p:[price line = "2" column = "5"]usd|c:US-SPI-FSASY|y:US-SPI-S}">Std. Color Asym. Spinnaker – Size 4 – $ 1000</option> 

任何想法如何(1)我可以使這項工作,或(2)也許建議不同機制更新這些形式,而不使用短代碼?

+0

寫簡碼輸出整個選項標籤是一種方法。或者直接用代碼製作整個表單字段或表單。這取決於你如何設置整個結構。你應該解釋你的系統,至少如果這些是自定義的帖子類型,頁面和你正在使用的插件等等,更多的描述通常會有所幫助。 – TurtleTread

+0

這讓我想起了 - 我寫了簡碼,以返回完整的html行,但我得到的是一個字符串,而不是可執行的html(即在這樣的引號內: – Philippe

+0

」 - how can我擺脫了那些「? – Philippe

回答

0

Shortcodes do not evaluate within HTML attributes。這是一項安全功能,可防止糟糕的編碼實踐和跨站點腳本漏洞(XSS)。如果您想繞過它,您需要在屬性內添加一個PHP標記和do_shortcode調用(警告:小心屬性消毒任何添加到標記屬性的內容!)

<?php 
$valueAttrContent = do_shortcode('Asym. Spinnaker Std colors Size 4{p:[price line = "2" column = "5"]usd|c:US-SPI-FSASY|y:US-SPI-S}'); 
$innerHTML = do_shortcode('Std. Color Asym. Spinnaker – Size 4 – $ [price line = "2" column = "5"]'); 

?><option value="<?= $valueAttrContent ?>"><?= $innerHTML ?></option> 
+0

謝謝你的答覆 - 但我以爲我不能在WP頁面中使用PhP?你的意思是我應該使用插入像「插入PHP」? – Philippe

+0

我不知道你指的是編輯器,我以爲你的意思是你試圖通過一個模板文件來實現,如果你使用的是編輯器,那麼這個答案將不起作用 – Jim

+0

我不建議你使用插件,允許你插入PHP到內容中,就像要求被黑客攻擊一樣 – Jim