Loading 0
Get in touch
Share

My Blog

Scroll Down

WP All Import Συνάρτηση PHP: Ανέβασμα εικόνων και επιστροφή id των εικόνων

WP All Import Συνάρτηση PHP: Ανέβασμα εικόνων και επιστροφή id των εικόνων

Δωράκι για τους φίλους του WordPress που κάνουν Import με WP All Import 😉

Για την περίπτωση που χρησιμοποιείτε κάποιο theme ή πρόσθετο το οποίο δεν παίρνει τις επιπλέον εικόνες με τον κλασικό τρόπο (εκτός από την featured εικόνα), τότε κατά πάσα πιθανότητα θα πρέπει με κάποιο τρόπο να αποθηκεύσετε τα id των εικόνων ή ίσως και όλοκληρο το ανεβασμένο url.

Χρησιμοποιώντας την παρακάτω συνάρτηση που έχω φτιάξει, μπορείτε να ανεβάσετε τις εικόνες κατά το import και να επιστρέψετε στο ειδικό πεδίο τα id των εικόνων χωρισμένα με "|".

Η συνάρτηση είναι πολύ εύκολη και μπορείτε να την αλλάξετε όπως επιθυμείτε, ακόμα και να σας επιστρέφει κάτι άλλο.

Εάν χρειαστείτε βοήθεια, επικοινωνήστε μαζί μου.

Συνάρτηση:


//Synarthsh upload eikonwn gallery kai epistrofhs id gia eidiko pedio
function imageids($url,$url2,$url3,$url4,$url5,$url6,$url7,$url8,$url9,$url10,$url11, $url12,$url13,$url14,$url15,$url16,$url17,$url18,$url19,$url20,$url21,$url22,$url23,$url24,$url25,$url26,$url27,$url28,$url29,$url30){

require_once(ABSPATH . 'wp-admin/includes/media.php');
require_once(ABSPATH . 'wp-admin/includes/file.php');
require_once(ABSPATH . 'wp-admin/includes/image.php');

$urls = array_filter(array($url,$url2,$url3,$url4,$url5,$url6,$url7,$url8,$url9,$url10,$url11, $url12,$url13,$url14,$url15,$url16,$url17,$url18,$url19,$url20,$url21,$url22,$url23,$url24,$url25,$url26,$url27,$url28,$url29,$url30));

if(empty($urls)){
//tipota
}elseif(sizeof($urls) > 1) {
foreach ($urls as $url){
$src = media_sideload_image( $url, null, null, 'src' );
$image_id = attachment_url_to_postid( $src );
$apotelesma .= $image_id."|";
}
return substr($apotelesma,0,-1);
}else{
foreach ($urls as $url){
$src = media_sideload_image( $url, null, null, 'src' );
$image_id = attachment_url_to_postid( $src );
$apotelesma = $image_id;
}
return $apotelesma;
}
}

Update!!!
Μπορεί να αντιμετωπίσετε το εξής πρόβλημα: Όταν ενημερώνετε ήδη ανεβασμένα post, ακόμα και αν επιλέξετε να μην ενημερωθεί το custom field με τις εικόνες, ο κώδικας θα τρέξει κανονικά και θα κατεβάσει τις εικόνες ξανά και ξανά. Γι' αυτό τον λόγο πρόσθεσα έναν επιπλέον έλεγχο.
Η συνάρτηση που ακολουθεί ελέγχει στην βάση δεδομένων αν υπάρχει το αναγνωριστικό του post ήδη στην βάση και αν ναι, τότε δεν προχωράει με την εκτέλεση της υπόλοιπης συνάρτησης:

</pre>
//Synarthsh upload eikonwn gallery kai epistrofhs id gia eidiko pedio -- ARXH
function imageids($elegxos,$url,$url2,$url3,$url4,$url5,$url6,$url7,$url8,$url9,$url10,$url11,$url12,
$url13,$url14,$url15,$url16,$url17,$url18,$url19,$url20,$url21,$url22,$url23,$url24,$url25,$url26,$url27,$url28,$url29,$url30){
global $wpdb;

$metas = $wpdb->get_results(
$wpdb->prepare("SELECT post_id FROM $wpdb->postmeta WHERE meta_key = 'real_estate_property_identity' AND meta_value = %s", $elegxos)
);

if(empty($metas)){
require_once(ABSPATH . 'wp-admin/includes/media.php');
require_once(ABSPATH . 'wp-admin/includes/file.php');
require_once(ABSPATH . 'wp-admin/includes/image.php');
$urls = array_filter(array($url,$url2,$url3,$url4,$url5,$url6,$url7,$url8,$url9,$url10,$url11,$url12,
$url13,$url14,$url15,$url16,$url17,$url18,$url19,$url20,$url21,$url22,$url23,$url24,$url25,$url26,$url27,$url28,$url29,$url30));
if(empty($urls)){
//tipota
}elseif(sizeof($urls) > 1) {
foreach ($urls as $url){
$src = media_sideload_image( $url, null, null, 'src' );
$image_id = attachment_url_to_postid( $src );
$apotelesma .= $image_id."|";
}
return substr($apotelesma,0,-1);
}else{
foreach ($urls as $url){
$src = media_sideload_image( $url, null, null, 'src' );
$image_id = attachment_url_to_postid( $src );
$apotelesma = $image_id;
}
return $apotelesma;
}
}else{
//tipota
}

}
//Synarthsh upload eikonwn gallery kai epistrofhs id gia eidiko pedio -- TELOS

This post is also available in: English

Leave a Reply

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *

01.

Here you can see all the services I provide

Registration and management of domain names (website address such as www.nicolaslagios.com)

Also management of dns records (e.g. connecting the domain to a specific server, fixing email spam problems, etc.)

Also ssl renewals etc

Installation and management of web & mail server in ubuntu vps with virtualmin, plesk, cpanel

Also studying and fixing server problems.

Necessary condition, the target server meets the conditions

At the moment for new wordpress websites you can choose from ready-made themes and we change the content (no custom changes). You can buy with a fixed price by clicking here!

My team and I undertake any data bridging implementation for Wordpress, Prestashop, Opencart, Joomla platforms.

We can connect data from any source, as long as the structure is stable and there is proper documentation and briefing.

We undertake the creation, regulation and enrichment of pages for social networks: Facebook, Linkedin, Instagram (profile), Twitter (profile), Tiktok (profile).

We also undertake the first boost of your pages for quick results in followers.

We undertake the repair and maintenance of your existing wordpress website.

For more information about the services, you can read the following and return here to schedule a meeting with me: https://maxservices.gr/en/internet-services/website-services-blank/additional-website-services/