我需要在帐户的订单页面上显示产品图片。此功能有效,但如果产品已被删除,则会出错
PHP Fatal error: Uncaught Error: Call to a member function get_image () on bool in
。该产品不存在,因此出现错误。
需要添加什么来避免此错误?
这里应该检查什么?
<?php echo $product->get_image('thumbnail'); ?>
我需要在帐户的订单页面上显示产品图片。此功能有效,但如果产品已被删除,则会出错
PHP Fatal error: Uncaught Error: Call to a member function get_image () on bool in
。该产品不存在,因此出现错误。
需要添加什么来避免此错误?
这里应该检查什么?
<?php echo $product->get_image('thumbnail'); ?>
我需要在 html 站点中显示一个表格。问题是有超过 300,000 个术语,很明显这样的表将永远加载。我认为这个问题的解决方案将是使用 ajax + php 来分部分加载表格(例如 100 个术语)。
这样做是否正确?还是有其他更简单的方法可以做到这一点?
如何从列出的 id 中随机显示 3 个页面?页面 ID 6314、6311、6308、6304、6301、6297。get_posts(include) 不起作用,因为它忽略了 rand。你有什么建议?WordPress
在电报中,有人打开机器人并出现“民意调查”,该人输入的数据必须转到 Bitrix24,并在那里创建交易。是真的做吗?告诉我往哪个方向挖。
如何在不更改其他列的情况下更改表的 id 列的顺序?
1 name_1 tel_1
2 name_2 tel_2
3 name_3 tel_3
但你需要
3 name_1 tel_1
2 name_2 tel_2
1 name_3 tel_3
$html = file_get_html(''.$result[]=$row.'?p='.$i.'');
foreach($html->find('span img') as $a)
echo $a->outertext . '<br>';
foreach($html->find('a.product--title') as $b)
echo $b->innertext . '<br>';
foreach($html->find('span.price--default') as $c)
echo $c->innertext . '<br>';
我正在写一个解析器。我需要以这种格式显示内容。
$a1
$b1
$c1
$a2
$b2
$c2
现在正在渲染内容。
$a1
$a2
$a3
$b1
$b2
$b3
这就是为什么我认为是否有可能以某种方式将所有 foreach 合并为一个?
add_action( 'user_register', 'my_registration', 10, 2 );
function my_registration( $user_id ) {
// get user data
$user_info = get_userdata($user_id);
// create md5 code to verify later
$code = md5(time());
// make it into a code to send it to user via email
$string = array('id'=>$user_id, 'code'=>$code);
// create the activation code and activation status
update_user_meta($user_id, 'account_activated', 0);
update_user_meta($user_id, 'activation_code', $code);
// create the url
$url = get_site_url(). '/my-account/?act=' .base64_encode( serialize($string));
// basically we will edit here to make this nicer
$html = '[:en]Please click the following links[:ru]Пожалуйста, нажмите на следующие ссылки[:] <br/><br/> <a href="'.$url.'">'.$url.'</a>';
// send an email out to user
wp_mail( $user_info->user_email, __('Odels','text-domain') , $html);
}
使用此代码,我将发送一封电子邮件以激活帐户,但它应该以客户的语言发送,现在它显示简码本身([:en]Please click[:ru]Пожалуйста, нажмите =[:]
),而不是例如翻译文本(请点击以下链接) CN.
如何以客户的语言发送电子邮件?你知道其他方法吗?
WordPress 上的网站。q 翻译 x 翻译插件
我需要调整图像大小以显示在网站上。例如,在 WordPress 中,会立即为 1 张图像创建 20 种尺寸,我正在寻找一种通用方式,可以为浏览器提供来自服务器的图像的缩小副本,即不是创建 20 个缩略图,而是生成它们。
一张照片应以多种尺寸显示在网站上。
我有一个350,000种产品的CSV文件,我需要将其导入到Woocomerce中,但是该进口需要很长时间(几天)。您如何快速进口这么多商品?
add_filter( 'woocommerce_get_price_html', 'bbloomer_add_price_prefix', 99, 2 );
function bbloomer_add_price_prefix( $price, $product ){
$prefix= do_shortcode("[:de]Ab[:en]From[:ru]От[:]");
$price = $prefix . $price;
return $price;
}
我需要为价格添加前缀。但是该站点有多种语言,因此您需要通过简码设置多种翻译。
现在代码输出[:de]Ab[:en]From[:ru] От[:]
,而不是“From”例如。我在哪里做错了?
我正在为一个网站制作一个媒体库(比如在 wordpress 上),我需要通过 ajax 将照片上传到它。但要查看新上传的照片,您需要重新加载页面。它如何在不重新加载的情况下显示上传的照片?
索引.php
<?
$files = glob('uploads/*.jpg');
usort($files, function ($a, $b)
{
return filemtime($a) < filemtime($b);
});
foreach ($files as $file)
{
printf(' <img src="%1$s" style="cursor:pointer" class="gallery_img">', $file, date('F d Y, H:i:s', filemtime($file)));
}
?>
<script type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'></script>
<div class="wrapper">
<input type="file" multiple="multiple" accept=".txt,image/*">
<a href="#" class="upload_files button">Загрузить файлы</a>
<div class="ajax-reply"></div>
</div>
<script>
(function($){
var files; // переменная. будет содержать данные файлов
// заполняем переменную данными файлов, при изменении значения file поля
$('input[type=file]').on('change', function(){
files = this.files;
});
// обработка и отправка AJAX запроса при клике на кнопку upload_files
$('.upload_files').on( 'click', function( event ){
event.stopPropagation(); // остановка всех текущих JS событий
event.preventDefault(); // остановка дефолтного события для текущего элемента - клик для <a> тега
// ничего не делаем если files пустой
if( typeof files == 'undefined' ) return;
// создадим данные файлов в подходящем для отправки формате
var data = new FormData();
$.each( files, function( key, value ){
data.append( key, value );
});
// добавим переменную идентификатор запроса
data.append( 'my_file_upload', 1 );
// AJAX запрос
$.ajax({
url : './submit.php',
type : 'POST',
data : data,
cache : false,
dataType : 'json',
// отключаем обработку передаваемых данных, пусть передаются как есть
processData : false,
// отключаем установку заголовка типа запроса. Так jQuery скажет серверу что это строковой запрос
contentType : false,
// функция успешного ответа сервера
success : function( respond, status, jqXHR ){
// ОК
if( typeof respond.error === 'undefined' ){
// файлы загружены, делаем что-нибудь
// покажем пути к загруженным файлам в блок '.ajax-reply'
var files_path = respond.files;
var html = '';
$.each( files_path, function( key, val ){
html += val +'<br>';
} )
$('.ajax-reply').html( html );
}
// error
else {
console.log('ОШИБКА: ' + respond.error );
}
},
// функция ошибки ответа сервера
error: function( jqXHR, status, errorThrown ){
console.log( 'ОШИБКА AJAX запроса: ' + status, jqXHR );
}
});
});
})(jQuery)
</script>
submin.php
if( isset( $_POST['my_file_upload'] ) ){
// ВАЖНО! тут должны быть все проверки безопасности передавемых файлов и вывести ошибки если нужно
$uploaddir = './uploads'; // . - текущая папка где находится submit.php
// cоздадим папку если её нет
if( ! is_dir( $uploaddir ) ) mkdir( $uploaddir, 0777 );
$files = $_FILES; // полученные файлы
$done_files = array();
// переместим файлы из временной директории в указанную
foreach( $files as $file ){
$file_name = cyrillic_translit( $file['name'] );
if( move_uploaded_file( $file['tmp_name'], "$uploaddir/$file_name" ) ){
$done_files[] = realpath( "$uploaddir/$file_name" );
}
}
$data = $done_files ? array('files' => $done_files ) : array('error' => 'Ошибка загрузки файлов.');
die( json_encode( $data ) );
}
function cyrillic_translit( $title ){
$iso9_table = array(
'А' => 'A', 'Б' => 'B', 'В' => 'V', 'Г' => 'G', 'Ѓ' => 'G',
'Ґ' => 'G', 'Д' => 'D', 'Е' => 'E', 'Ё' => 'YO', 'Є' => 'YE',
'Ж' => 'ZH', 'З' => 'Z', 'Ѕ' => 'Z', 'И' => 'I', 'Й' => 'J',
'Ј' => 'J', 'І' => 'I', 'Ї' => 'YI', 'К' => 'K', 'Ќ' => 'K',
'Л' => 'L', 'Љ' => 'L', 'М' => 'M', 'Н' => 'N', 'Њ' => 'N',
'О' => 'O', 'П' => 'P', 'Р' => 'R', 'С' => 'S', 'Т' => 'T',
'У' => 'U', 'Ў' => 'U', 'Ф' => 'F', 'Х' => 'H', 'Ц' => 'TS',
'Ч' => 'CH', 'Џ' => 'DH', 'Ш' => 'SH', 'Щ' => 'SHH', 'Ъ' => '',
'Ы' => 'Y', 'Ь' => '', 'Э' => 'E', 'Ю' => 'YU', 'Я' => 'YA',
'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'ѓ' => 'g',
'ґ' => 'g', 'д' => 'd', 'е' => 'e', 'ё' => 'yo', 'є' => 'ye',
'ж' => 'zh', 'з' => 'z', 'ѕ' => 'z', 'и' => 'i', 'й' => 'j',
'ј' => 'j', 'і' => 'i', 'ї' => 'yi', 'к' => 'k', 'ќ' => 'k',
'л' => 'l', 'љ' => 'l', 'м' => 'm', 'н' => 'n', 'њ' => 'n',
'о' => 'o', 'п' => 'p', 'р' => 'r', 'с' => 's', 'т' => 't',
'у' => 'u', 'ў' => 'u', 'ф' => 'f', 'х' => 'h', 'ц' => 'ts',
'ч' => 'ch', 'џ' => 'dh', 'ш' => 'sh', 'щ' => 'shh', 'ъ' => '',
'ы' => 'y', 'ь' => '', 'э' => 'e', 'ю' => 'yu', 'я' => 'ya'
);
$name = strtr( $title, $iso9_table );
$name = preg_replace('~[^A-Za-z0-9\'_\-\.]~', '-', $name );
$name = preg_replace('~\-+~', '-', $name ); // --- на -
$name = preg_replace('~^-+|-+$~', '', $name ); // кил - на концах
return $name;
}
我需要将一个变量写入一个 div,我有 2 个复选框,每个复选框分别写入一个 div。但由于某种原因,两个复选框都写入第一个 div,而不是第一个检查 = 第一个 div,第二个检查 = 第二个 div。
function getCheckedCheckBoxes() {
var checkboxes = document.getElementsByClassName('checkbox');
var checkboxesChecked = []; // можно в массиве их хранить, если нужно использовать
for (var index = 0; index < checkboxes.length; index++) {
if (checkboxes[index].checked) {
checkboxesChecked.push(checkboxes[index].value); // положим в массив выбранный
document.getElementsByClassName('note-editable')[0].innerHTML +=checkboxes[index].value;
}
}
return checkboxesChecked; // для использования в нужном месте
}
function getCheckedCheckBoxes2() {
var checkboxes = document.getElementsByClassName('checkbox');
var checkboxesChecked = []; // можно в массиве их хранить, если нужно использовать
for (var index = 0; index < checkboxes.length; index++) {
if (checkboxes[index].checked) {
checkboxesChecked.push(checkboxes[index].value); // положим в массив выбранный
document.getElementsByClassName('note-editable')[1].innerHTML +=checkboxes[index].value;
}
}
return checkboxesChecked; // для использования в нужном месте
}
即使我设置getElementsByClassName('note-editable')[1]
了,它仍然会写入第一个 div。我在哪里做错了?
我创建了自己的简码,但由于某种原因,它显示在页面上所有内容的上方。怎么修?
add_shortcode( 'gallery_page', 'shortcode_gallery_page' );
function shortcode_gallery_page() {
ob_start();
get_template_part( 'template-gallery' );
return "ob_get_clean()";
}
<?php
$directory = "wp-content/uploads/2020/Painted_matrix"; // Папка с изображениями
$allowed_types=array("jpg", "png", "gif"); //разрешеные типы изображений
$file_parts = array();
$ext="";
$title="";
$i=0;
//пробуем открыть папку
$dir_handle = @opendir($directory) or die("Ошибка при открытии папки !!!");
while ($file = readdir($dir_handle)) //поиск по файлам
{
if($file=="." || $file == "..") continue; //пропустить ссылки на другие папки
$file_parts = explode(".",$file); //разделить имя файла и поместить его в массив
$ext = strtolower(array_pop($file_parts)); //последний элеменет - это расширение
if(in_array($ext,$allowed_types))
{
echo '<div class = "blok_img" >
<img src="'.$directory.'/'.$file.'" class="pimg" title="'.$file.'" />
</div>';
$i++;
}
}
closedir($dir_handle); //закрыть папку
?>
我需要显示目录中的照片,但我无法设置相对路径,即$directory = "/wp-content/uploads/2020/Painted_matrix";
代码给出错误“打开文件夹时出错!!!”。如何设置文件夹的相对路径?
PS 此代码在主题文件夹中。
$args = array(
'post_type' => 'product',
'posts_per_page' => 100,
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
global $product;
$args = array(
'post_type' => 'product_variation',
'post_status' => array( 'publish' ),
'numberposts' => -1,
'orderby' => 'menu_order',
'order' => 'ASC',
'post_parent' => get_the_ID() // get parent post-ID
);
$variations = get_posts( $args );
foreach ( $variations as $variation ) {
// get variation ID
$variation_ID = $variation->ID;
// get variations meta
$product_variation = new WC_Product_Variation( $variation_ID );
// get variation featured image
$variation_image = $product_variation->get_image();
$variation_link = $product_variation->get_permalink();
//get variation name
$variation_name = $product_variation->get_variation_attributes();
$fasovka = [ 'attribute_pa_paint' => $variation_name [ 'attribute_pa_paint'] ];
if (($variation_name[attribute_pa_scale]=="1-24")&&(strpos($variation_image, '_G_1-18') !== false)) {
echo '<a href="'.$variation_link.'">'.$variation_image.'</a><br>';
}
}
endwhile;
wp_reset_query();
此代码显示所有产品变体。
但是现在显示了绘制和未绘制属性值的变化。我只需要输出包含绘制属性值的变体。
怎么做才对?
paint 属性的值是painted 和unpainted
session_start();
if (isset($_POST['search'])) {$_SESSION['search'] = $_POST['search']; $search = $_SESSION['search'];}
if (!isset($search)) { echo "Значение пустое" ;} else { echo "Значение ЕСТЬ! Вот оно : $search )))";}
我正在网站上进行搜索。我需要存储一个存储搜索词的POST变量,例如“Phone”。但数据没有保存。我在哪里犯了错误,在会话中存储这些数据是否正确?
$option_value = $_POST['option_value'];
$option_value_en = $_POST['option_value_en'];
$sql = "
UPDATE content SET option_value='$option_value_en' WHERE option_id=1;
UPDATE content SET option_value='$option_value' WHERE option_id=2;";
if ($conn->query($sql) === TRUE) { } else { }
我无法在 php.ini 中一次执行多个 SQL 查询。它没有给出任何错误,页面被重新加载并且内容没有更新
使用订单信息编辑电子邮件模板。如果我想发送订单,Woocommerce 会抛出一个错误(由于某种原因它没有显示,只是一个错误)。如果删除$item->get_price();
它,一切正常。我在哪里犯错?
$order_id = $order->get_id(); // The order_id
// get an instance of the WC_Order object
$order = wc_get_order( $order_id );
// The loop to get the order items which are WC_Order_Item_Product objects since WC 3+
foreach( $order->get_items() as $item_id => $item ){
//Get the product ID
$product_id = $item->get_product_id();
//Get the variation ID
$product_id = $item->get_variation_id();
//Get the WC_Product object
$product = $item->get_product();
// The quantity
$product_count = $item->get_quantity();
$product_price = $item->get_price();
// The product name
$product_name = $item->get_name(); // … OR: $product->get_name();
//Get the product SKU (using WC_Product method)
$sku = $product->get_sku();
echo "<tr><td><p>".$product_name." ".$sku."</p></td>"."<td><p>".$product_count."</p></td>"."<td><p>".$product_price."</p></td>"."</tr>";
}
为什么wordpress通过http而不是https上传照片?照片链接将以 http 开头,这就是为什么我的网站“没有受到完全保护”的原因。如何解决这个问题?