我试图从json文件中获取数据,并将其加载到我的wordpress站点。我想得到的价格从匹配的名称的产品的网站,我爬网。我需要产品名称与我在wordpress上添加到产品页面的产品属性相匹配,然后如果名称与我添加的属性相匹配,则获取价格。我不知道我是否讲得通,但这是我到目前为止的代码。它在一定程度上起了作用,但在我所有的产品中,它的价格都是一样的。我是php新手,有人能帮我吗?
<?php
$str = file_get_contents('/run_results_apmex.json');
// decode JSON
$json = json_decode($str, true);
// get the data
$coinPrice = $json['coin'][1]['price'];
// echo it
if($json['name'] == $product->get_attribute[ 'Apmex Vendor Name' ]){
echo $coinPrice;
}
else{
echo 'No results found';
}
?>
您需要循环json数组来检查产品属性并获取价格。
$str = file_get_contents('/run_results_apmex.json');
// decode JSON
$json = json_decode($str, true);
// default value
$coinPrice = "No results found";
$product_attribute = '1 oz Gold American Eagle BU (Random Year)';
// loop the json array
foreach($json['coin'] as $value){
// check the condition
if($value['name'] == trim($product_attribute)){
$coinPrice = $value['price']; // get the price
break; // exit the loop
}
}
echo $coinPrice;
或者你可以创建一个递归函数来检查in_array
$str = file_get_contents('http://gold.explorethatstore.com/wp-content/themes/divi-ETS-child-theme/run_results_apmex.json');
// decode JSON
$json = json_decode($str, true);
// here I am passing the string instead of $product->get_attribute[ 'Apmex Vendor Name' ]. replace it in your code
$product_attribute = '1 oz Gold American Eagle BU (Random Year)';
$coinPrice = ($check = in_array_recursive(trim($product_attribute), $json['coin'])) ? $check['price']: 'No results found';
echo $coinPrice;
// output is $1,426.19
function in_array_recursive($needle, $haystack, $strict = false) {
foreach ($haystack as $item) {
if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && in_array_recursive($needle, $item, $strict))) {
return $item;
}
}
return false;
}
我想使用属性名称获取WooCommerce产品属性的ID。例如 我知道产品属性是分类法,但是get_taxonomy()不会返回分类法ID。我找不到一个可以这样做的Woocommerce函数。
用wordpress数据库编写自定义代码创建产品详细页面。 我已经显示了产品的标题,说明,价格,股票等,并与产品属性卡起来。在数据库中,_PRODUCT_Attributes以序列化的方式存储在数据库中的wp_postmeta表中。我也无法从中挖掘出属性。但是我发现,每个具有自己价格的属性值都存储在其他post_id中的wp_postmeta中。 例如,post_id=55的产品具有属性名“siz
我在WooCommerce的产品上使用了很多产品属性,我循环浏览了表格中的所有变化,这些变化可以在产品页面上用短代码显示。 对于此表,我需要表头中的所有产品属性(这是在循环浏览变体之前),我使用以下方法获取属性: 这不是很优雅,是吗? 所以这也是可行的: 在这两种情况下,我都会得到product属性的slug。我需要得到标签名,因为每个名称(术语)都有一个多段翻译。 如何获取产品属性标签名而不是分
我有一节课: 值是唯一的,如何通过其值获取属性的名称? 通过反射,例如:
问题内容: 我正在用我的域对象映射一堆旧表。有没有办法在Domain类中查找属性的数据库列名(反之亦然)?例如: 有没有一种方法可以使用firstName取回字符串“ FIRST_NAME”或“ first_name”?我尝试使用 但这仅出于某种原因为我提供了id列。谢谢! 问题答案: 好的,我认为这就是您要寻找的。给定以下域 您可以使用以下命令检索域数据: 您还可以使用以下闭合符打印出所有列名称
问题内容: 我想根据属性名称打印属性值,例如 我想做这样的事情 上面的代码给出了一个,我相信这是因为BeatifulSoup使用了name,所以它不能用作关键字参数。 问题答案: 这很简单,请使用以下代码- 如果不清楚,请发表评论。
我目前正在尝试比较两个数据帧(例如df1和df2)的列名,并从其中一个(df2)中提取值(如果匹配的话),以创建一个新的(第三个)数据帧。
我有一些数组,如果它们包含类似的值,我想返回这些数组的名称。 我有我的变量,它有多个数组,名字要么是,要么是,要么是。包含的只是变量中某些数组中相同的值。我需要返回数组中包含、和的数组的名称。因此,对于这个示例,我需要返回:。 通过这个函数抛出它们时,我得到一个错误。如何获取返回的数组?