php WP All Import - Автоматическаявставкашорткодагалереи,неудалосьдоконца。 Нужнообновлятьвручную
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php WP All Import - Автоматическаявставкашорткодагалереи,неудалосьдоконца。 Нужнообновлятьвручную相关的知识,希望对你有一定的参考价值。
<?php
/*
Plugin Name: URL Gallery
Plugin URI: https://www.ajsalkeld.com/blog/wp-plugin/2017/08/23/url-gallery-wordpress-shortcode/
Description: A plugin to make galleries with their URLs.
Version: 1.0
Author: Andrew Salkeld
Author URI: https://www.ajsalkeld.com
License: GPL2
*/
function ug_get_image_id($image_url) {
global $wpdb;
$sgattachment = $wpdb->get_col($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE guid LIKE '%s';", $image_url ));
return $sgattachment[0];
}
add_shortcode('old-gal', 'url_gallery');
add_shortcode('url-gallery', 'url_gallery');
function url_gallery($atts){
extract( shortcode_atts( array(
'imgs' => '',
'ids' => '',
), $atts, 'old-gal' ) );
extract( shortcode_atts( array(
'imgs' => '',
'ids' => '',
), $atts, 'url-gallery' ) );
if ($atts['imgs'] != null) {
$image_names = explode(",",preg_replace('/\s+/', '', $atts['imgs']));
foreach($image_names as &$image_url) {
$image_url = ug_get_image_id($image_url);
}
$image_names = implode(',', $image_names);
echo do_shortcode('[gallery ids="'.$image_names.'" size="medium"]');
}
elseif ($atts['ids'] != null) {
echo do_shortcode('[gallery ids="'.$atts['ids'].'" size="medium"]');
}
}
function my_function( $post_id ){
// if ( !wp_is_post_revision( $post_id ) && $_POST['post_type'] == "photos"){
if ( $_POST['post_type'] == "photos"){
// unhook this function so it doesn't loop infinitely
remove_action('save_post_photos', 'my_function');
// =======================
// START
// =======================
// Указываем тип записи для которой необходимо применить правки
$post_type = "photos";
// $post_id = $post_ID;
$get_post = get_post($post_id);
//текущий тип поста
$get_post_type = $get_post->post_type;
if ($get_post_type == $post_type ){
$get_post_content = $get_post->post_content;
// Удаляем все изображения
// $get_post_content_NOT_img = preg_replace('/<img[^>]+./','',$get_post_content);
// Удаляем блок обвертку изображений
// if (strpos($get_post_content_NOT_img, 'sigplus-gallery')){
// $get_post_content_NOT_img = preg_replace('/<div id=\".*\" class=\"sigplus-gallery.*>.*<\/div>/','',$get_post_content_NOT_img);
// }
// if (strpos($get_post_content_NOT_img, '<p></p>')){
// $get_post_content_NOT_img = preg_replace("/<p[^>]*><\\/p[^>]*>/",'',$get_post_content_NOT_img);
// }
//====================================
// Получаем вложенные изображения через URL
// START
//====================================
$doc=new DOMDocument();
//$doc->loadHTML("<html><body>Test<br><img src=\"myimage.jpg\" title=\"title\" alt=\"alt\"></body></html>");
$doc->loadHTML($get_post_content);
$xml=simplexml_import_dom($doc); // just to make xpath more simple
$images=$xml->xpath('//img');
$IMGs_URLs;
foreach ($images as $img) {
// Получаем имена файлов изображений
$IMGs_NAMEs .= basename($img['src']) . ",";
// добавляем имена в строку
$IMGs_URLs .= $img['src'] . ",";
}
// Удаляем последний символ из конца строки
$IMGs_URLs = preg_replace("/,$/", "", $IMGs_URLs );
$IMGs_NAMEs = preg_replace("/,$/", "", $IMGs_NAMEs );
//s($IMGs_URLs);
//====================================
// END
// Получаем вложенные изображения через URL
//====================================
// Создаем массив данных
// vdd($get_post_content_NOT_img);
$my_post = array();
$my_post['ID'] = $post_id;
// $my_post['post_content'] .= $get_post_content.'Это старый контент'.$IMGs_URLs;
// $my_post['post_content'] = $get_post_content_NOT_img.'<br>[url-gallery imgs="'.$IMGs_URLs.'"]';
$my_post['post_content'] = '[url-gallery imgs="'.$IMGs_URLs.'"]';
// Обновляем данные в БД
// if (!$my_post['post_content'] contains 'url-gallery'){
// if (strpos($my_post['post_content'], 'url-gallery') == false){
if (!strpos($get_post_content, 'url-gallery')){
wp_update_post( $my_post );
}
}
// =======================
// START
// =======================
// Обновляем данные в БД
// wp_update_post( $my_post );
// re-hook this function
add_action('save_post_photos', 'my_function');
}
}
add_action('save_post_photos', 'my_function');
以上是关于php WP All Import - Автоматическаявставкашорткодагалереи,неудалосьдоконца。 Нужнообновлятьвручную的主要内容,如果未能解决你的问题,请参考以下文章
markdown ОтправкалидоввБитрикс24изWP
php WP is_page - правильноеиспользованиеопределениястраницвfunction.php
php 元素与WP - Отменаформатированиякраткогоописаниятолькодляопределенныхстраниц
markdown ШаблоныстраницвWP
powershell [Установкаwordpressv0.5]быстраяустановкаwordpressчерезwp-cliснастройками#tags:wordpress,w
php Импортфайловвтовары