Я новичок в MySQL, поэтому не знаю, возможно ли это.
Я хотел бы скопировать URL-адрес, который находится в post_content, в настраиваемое поле. URL-адрес является переменной и выглядит следующим образом:
[audio:http://www.website.com/folder/file.mp3]
Можно ли скопировать только URL-адрес ( http://www.website.com/folder/file.mp3 ) в настраиваемое поле?
Я пробовал разные вещи, но поскольку я не всегда понимаю, как обращаться к MySQL, мне не повезло.
Благодаря!
Что вам нужно сделать, это запустить функцию, которая запускается при нажатии кнопки «Обновить» на сообщениях.
Я не могу гарантировать, что моя попытка изолировать короткий код была успешной (я не слишком хорош в этом), но вы определенно получаете эту идею здесь!
add_action('save_post', 'save_details'); function save_details() { global $post; if(get_post_type($post->ID) == 'your_custom_post_type') { if(stripos($post->post_content, '[audio:http://') !== false) { // if shortcode exists $content = $post->post_content; //first position of shortcode $p1 = stripos($content, '[audio:http://'); // strip code from before the shortcode. $content = substr($content, $p1); //find when end of the shortcode starts $p2 = stripos($content, '.mp3]'); $p2 = $p2 + 5; // add five to get where it ends. //get full shortcode $content = substr($content, 0, $p2); // save shortcode to meta field update_post_meta($post->ID, 'custom_field_name', $content); } } }
Дайте мне знать, если у вас возникнут проблемы!