Hallo iedereen,

Ik ben bezig met een XML export vanuit WordPress.

Ik wil graag een aantal elements in één groep plaatsen. Nu heb ik een code die prima werkt wanneer het eerste en laatste element die ik in de groep wil plaatsen een andere naam hebben, maar logischerwijs zodra er meerdere elements met dezelfde naam in één groep moeten worden geplaatst, vormt deze code een groep rond elk element met die naam. Het aantal elements dat in een groep wordt geladen kan variëren van 1 tot 9, maar is geen vast aantal.

Dit is wat ik krijg:


<?xml version="1.0" encoding="UTF-8"?>  
    <group>  
    <name1></name1>  
    <name2></name2>  
    </group>  
    <group>  
    <name1></name1>  
    <name2></name2>  
    </group>


En dit is wat ik nodig heb:


<?xml version="1.0" encoding="UTF-8"?>  
    <group>  
    <name1></name1>  
    <name2></name2>  
    <name1></name1>  
    <name2></name2>  
    </group>


De code die ik gebruik is de volgende:

<?php
add_filter('wp_all_export_add_before_element', 'wpae_wp_all_export_add_before_element', 10, 4);
function wpae_wp_all_export_add_before_element( $xmlWriter, $element_name_in_file, $export_id, $pid ) {
    if ( $element_name_in_file == 'name1' ) {
        $xmlWriter->beginElement('', 'group', null);            
    }
    return $xmlWriter;
}

add_filter('wp_all_export_add_after_element', 'wpae_wp_all_export_add_after_element', 10, 4);
function wpae_wp_all_export_add_after_element( $xmlWriter, $element_name_in_file, $export_id, $pid ) {
    if ( $element_name_in_file == 'name2' ) {       
        $xmlWriter->endElement();   
    }
    return $xmlWriter;
}
?>


Heeft iemand een creatief idee om ook elements met dezelfde naam in één groep te krijgen?

Groet,

Bart


Toevoeging op 17/05/2016 23:35:56:

Excuus.

Reageren