Speak now
Please Wait Image Converting Into Text...
Embark on a journey of knowledge! Take the quiz and earn valuable credits.
Challenge yourself and boost your learning! Start the quiz now to earn credits.
Unlock your potential! Begin the quiz, answer questions, and accumulate credits along the way.
General Tech Bugs & Fixes 2 years ago
Posted on 16 Aug 2022, this text provides information on Bugs & Fixes related to General Tech. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.
Turn Your Knowledge into Earnings.
My problem: How to pull the media data out of the database">database in PHP?
I'd like to write a shortcode that renders an image with the alt-text and caption taken automatically from the media database">database. Usage-example:
[img 126 300] // [img media-id width]
Intended Output:
I was hoping for some wordpress-integrated function to get me the needed values in a few lines of code, but with @disinfor's hint I dug a bit into the wordpress database and came to the following results:
wp_posts.post_title
wp_posts.post_excerpt
wp_posts.post_content
wp_postmeta.meta_value WHERE meta_key='_wp_attachment_image_alt'
Code below:
function img_shortcode($atts) { global $wpdb; try { $conn = new \PDO("mysql:host=" . constant('DB_HOST') . ";dbname=" . constant('DB_NAME'), constant("DB_USER"), constant("DB_PASSWORD")); // set the PDO error mode to exception $conn->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); $sql = "SELECT post_title, post_excerpt FROM `". $wpdb->prefix . "posts` WHERE ID=". $atts[0]; $stmt = $conn->prepare($sql); $stmt->execute(); $img = $stmt->fetch(\PDO::FETCH_ASSOC); $title = $img['post_title']; $caption = $img['post_excerpt']; $sql = "SELECT meta_value FROM `". $wpdb->prefix . "postmeta` WHERE (post_id=". $atts[0] ." AND meta_key='_wp_attachment_image_alt')"; $stmt = $conn->prepare($sql); $stmt->execute(); $alt = $stmt->fetch(\PDO::FETCH_ASSOC)['meta_key']; } catch(PDOException $e) { echo "Connection failed: " . $e->getMessage(); return NULL; } // todo: generate html from $alt, $title and $caption (and optionally further shortcode attributes) } add_shortcode('img', 'img_shortcode'); // Signature: [img 126] to render image with media id 126
No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.
General Tech 9 Answers
General Tech 7 Answers
General Tech 3 Answers
General Tech 2 Answers
Ready to take your education and career to the next level? Register today and join our growing community of learners and professionals.