Wp All Imports PHP函数编辑器在导入之前更改xml节点的值

时间:2015-11-09 17:38:45

标签: php xml wordpress woocommerce

我无法在WordPress Woocommerce的wp所有导入中更改xml节点的值。 xml Feed列出了绿色,琥珀色,红色和蓝色作为库存水平。我需要将每个值更改为12,3,0和0。我已经看过使用简单的xml但不确定这适用于此方法。函数编辑器将自定义php保存在wordpress文件中,就像您在子主题中使用的自定义php文件一样。

我在下面的链接中查看了这个示例,但不确定如何将其应用于我想要实现的目标change value of xml node with simpleXML

这是我到目前为止在函数编辑器中获得的代码

<?php
function ae_stock_change($x) {
if (StockLevel == "Green")
    $x = 12;
elseif (StockLevel == "Amber")
    $x = 3;
else $x = 0;
return $x;

?>

这是xml文件示例

<StockFile>
<MatrixID>1533</MatrixID>
<Brand>Bassaya</Brand>
<ProductCode>basagnez</ProductCode>
<ShortDescription>Bassaya Agnez BlackL/XL</ShortDescription>
<Range>Bassaya Agnez</Range>
<StockLevel>Red</StockLevel>
<Colour>Black</Colour>
<Size>L/XL</Size>
<SupplyType>Discontinued</SupplyType>
<Trade>14.24</Trade>
<RRP>29.99</RRP>
<Image1Name>basagnez.jpg</Image1Name>
<Image2Name/>
<Image3Name/>
<TypeName>Chemise</TypeName>
</StockFile>

1 个答案:

答案 0 :(得分:3)

在这里,我们已经面对同样的问题并为您提供完美的解决方案:),

您可以转到主题的functions.php文件并制作您的功能:

function ae_stock_change($StockLevel) {
if ($StockLevel == "Green"):
    $x = 12;
elseif ($StockLevel == "Amber"):
    $x = 3;
else: 
   $x = 0;
endif;
return $x;
}

然后在输入中为wp指定所有导入变量,例如:

{MatrixID[1]} 

你应该把它包装在这样的函数调用中:

[ae_stock_change({MatrixID[1]})] 

当它开始执行导入事物的脚本时,它将通过您在输入中指定的函数并通过您的函数对其进行过滤:)