Я опустил часть кода, чтобы его было легче просматривать.Что он делает, так это извлекает из списка XML список карточек сбора и заполняет его таблицей mysql.Как только таблица заполняется для каждой карты, она автоматически создает сообщение для каждой карты и заполняет данные.
Большая часть вводимых данных будет выполняться через настраиваемые поля.Все, что вы видите здесь, работает отлично, за исключением одной части в области пользовательских полей, которую я не совсем понимаю.
Wordpress Codex перечисляет настраиваемые поля, например:
<?php add_post_meta($post_id, $meta_key, $meta_value, $unique); ?>
Пример
<?php add_post_meta(68, '_color', 'red', true); ?>
Ни одно из моих настраиваемых полей не работает, кроме одного, которое:
$meta($post_id, 'Condition', 'M/NM', true);
Что касается других пользовательских полей, которые не работают, все они содержат переменные, например, так:
$meta($post_id, 'Rating', $rating, true);
Я пробовал несколько различных методов без успеха.В сети есть множество примеров, где переменные использовались в add_meta_data, поэтому я просто не смог найти, почему он работает неправильно.Это застряло у меня в последние 2 дня.Есть идеи?
Плюс, как в мире вы прикрепляете фотографию в качестве изображения к этому сообщению?
<?php
$z = new xmlreader;
$z->open('http://***.com/wp-content/themes/***/mtg/arb.xml');
$doc = new DOMDocument;
while ($z->read() && $z->name !== 'card');
echo "<table border=1>
<tr>
<td><div class='id'>ID</div></td>
</tr>";
$prodName = boutique_product_name('offer');
$esc_html_e = esc_html_e('Add to cart','Boutique');
while ($z->name === 'card')
{
$node = new SimpleXMLElement($z->readOuterXML());
echo "<tr>
<td><div class='id1'>".$node->id."</div></td>
$name = $node->name;
$rarity = $node->rarity;
$manacost = $node->manacost;
$ability = $node->ability;
$pricing_high = $node->pricing_high;
$mtg_post = array();
$mtg_post['post_title'] = wp_strip_all_tags($name);
$mtg_post['post_content'] = wp_strip_all_tags($ability);
$mtg_post['post_status'] = 'publish';
$mtg_post['post_author'] = 1;
$mtg_post['post_type'] = 'post';
$mtg_post['post_category'] = array(89,90);
$mtg_post['comment_status'] = 'closed';
$mtg_post['ping_status'] = 'closed';
$post_id = wp_insert_post( $mtg_post );
$meta = add_post_meta;
$meta($post_id, 'Mana Cost', $manacost, true);
$meta($post_id, 'Rarity', $rarity, true);
$meta($post_id, 'Condition', 'M/NM', true);
$meta($post_id, 'Price', $pricing_high, true);
echo "<td><a href=\"#$prodName\" class=\"add-to-cart et-shop-item\">\"$esc_html_e\"</a></td>";
$z->next('card');
}
echo "</table>";
?>