Загрузка через xml доп полей в wordpress

254
04 августа 2017, 02:01

Есть произвольные типы записей, назовем их Объекты сделал загрузку xml в формате яндекс, но почему то могу только стандартные поля добавить, такие как title data meta content. Как организовать загрузку доп полей? в каком направлении тыкать?

Так я вывожу доп поля свои на странице custom-single.php

<?php $contact_descr = get_post_meta($post->ID, 'contact_descr', true); ?>
                <?php if (empty($contact_descr)) { echo ""; } else { ?> 
                <?php echo "<li>".$contact_descr."</li>"; } ?>  

Так пытаюсь загрузить поля

1 файлы variables.php

<?php
    namespace best_import_namespace;
    // xml
    global $xml, $xml_content;
    if(file_exists($xml_file)){
        $xml = simplexml_load_file($xml_file); 
        $xml_content = file_get_contents($xml_file);
    }else{
        $xml = null;
        $xml_content = null;
    }
    // others
    global $tags, $max_preview, $import_number, $post_types, $post_type, $main_tag, $default_action;
    $tags = array();
    $max_preview = 1024;
    $import_number = intval(gpost('import-number'));
    $post_types = get_post_types();
    $post_type = gpost('post-type', 'post');
    $main_tag = gpost('main-tag', '');
    $default_action = 'add';
    // default fields
    global $default_fields;
    $default_fields = array(
        'title' => array('name'=>'title', 'value'=>gpost('title'), 'type'=>'string', 'label'=>'Title'),
        'content' => array('name'=>'content', 'value'=>gpost('content'), 'type'=>'string', 'label'=>'Content'),
        'date' => array('name'=>'date', 'value'=>gpost('date'), 'type'=>'date', 'label'=>'Date'),
        'contact_descr' => array('name'=>'contact_descr', 'value'=>gpost('ontact_descr'), 'type'=>'string', 'label'=>'contact_descr'),
    );
    // taxonomies
    global $taxonomies, $taxonomies_objects;
    $taxonomies = array();
    $taxonomies_objects = get_taxonomies(array(), 'objects');   
    foreach($taxonomies_objects as $taxonomy)
        if(in_array($post_type, $taxonomy->object_type)){
            $value = gpost('taxonomies', array());
            $value = isset($value[$taxonomy->name])?$value[$taxonomy->name]:'';
            $taxonomies[$taxonomy->name] = array(
                'name' => $taxonomy->name,
                'value' => $value,
                'type' => 'string',
                'label' => $taxonomy->label
            );
        }
    // mapping
    global $mapping;
    $mapping = array();
    $mapping_names = gpost('mapping_names', array());
    $mapping_from = gpost('mapping_from', array());;
    $mapping_to = gpost('mapping_to', array());
    $mapping_count = count($mapping_names);
    for($j=0; $j<$mapping_count; ++$j)
        $mapping[] = array(
            'name' => $mapping_names[$j],
            'from' => $mapping_from[$j],
            'to' => $mapping_to[$j]
        );
    // merge
    global $all_fields;
    $all_fields = array_merge($default_fields, $taxonomies);
    // input types
    global $input_types;
    $input_types = array(
        'string' => 'String',
        'int' => 'Integer',
        'float' => 'Float',
        'date' => 'Date',
    );
?>

data.php

<?php
    namespace best_import_namespace;
    echo '<h3>Data</h3>';
    if($xml){
        echo '<h4>Fill the form below to match appropriate attributes with the data.</h4>';
        echo '<table class="form-table">';
        echo '<tr><td><label for="bi-main-tag">Main tag</label></td><td><select name="main-tag" value="" id="bi-main-tag">';
            foreach($tags as $tag=>$array)echo '<option name="import-number" value="'.$tag.'"'.($tag==$main_tag?' selected="selected"':'').'>&lt;'.$tag.'&gt;</option>';
        echo '</select></td></tr>';
        echo '<tr><td><label for="bi-type">Type</label></td><td><select name="post-type" id="bi-type">';
            foreach($post_types as $type)echo '<option value="'.$type.'"'.($type==$post_type?' selected="selected"':'').'>'.$type.'</option>';
        echo '</select></td></tr>';
        echo '<tr><td><label for="bi-title">Title</label></td><td><input type="text" value="'.gpost('title').'" name="title" id="bi-title"  class="suggest"></td></tr>';
        echo '<tr><td><label for="bi-content">Content</label></td><td><textarea name="content" id="bi-content"  class="suggest">'.gpost('content').'</textarea></td></tr>';
        echo '<tr><td><label for="bi-date">Date</label></td><td><input type="text" value="'.gpost('date').'" name="date" id="bi-date"  class="suggest"></td></tr>';
        echo '<tr><td><label for="bi-date">Адрес</label></td><td><input type="text" value="'.gpost('extra[contact_descr]').'" name="extra[contact_descr]" id="bi-extra[contact_descr]"  class="suggest"></td></tr>';
        echo '</table>';
    }else{
        echo '<h4>You have not uploaded XML file yet.</h4>';
    }
?>
READ ALSO
Вставить данные в mysql через php

Вставить данные в mysql через php

ЗдравствуйтеЕсть список, выводящийся на странице, с текстовым полем для изменения

272
Как добавить meta-тег при пагинации в MODX Revo

Как добавить meta-тег при пагинации в MODX Revo

Подскажите, как добавить <meta name="robots" content="noindex,follow" />при пагинации от 2 и вышеТакое окончание ?page=3 Сайт на MODX Revo

278
Не открывается папка без index.php

Не открывается папка без index.php

не открываются ссылки без indexphp

235