Kuinka sallia kuvat URL-osoitteen sijasta WordPress-kommenteissa?
Oletuksena kommentin URL-osoitteet säilytetään sellaisina kuin ne ovat. Jos käyttäjä laittaa suoraan kuvan URL-osoitteen, olisi mukava korvata URL-osoite varsinaisella HTML img -tunnisteella. Lisää seuraava PHP-koodinpätkä wordpress – teemaan functions.php :
// empty - allow all posts, otherwise, put post IDs joined by comma
define('ALLOW_POSTS', '');
function helloacm_allow_comment_image( $comment) {
$post_ID = $comment["comment_post_ID"];
$allow_posts = ALLOW_POSTS? explode(',', ALLOW_POSTS): array();
if(empty($allow_posts) || in_array($post_ID, $allow_posts)){
global $allowedtags;
$content = $comment["comment_content"];
$content = preg_replace('/(https?://S+.(?:jpg|png|jpeg|gif|bmp))+/','<img title="$0 How to Allow Images Instead of URL in WordPress Comments? wordpress " src="$0" alt="$0 How to Allow Images Instead of URL in WordPress Comments? wordpress " />',$content);
$allowedtags['img'] = array('src' => array(), 'alt' => array());
$comment["comment_content"] = $content;
}
return $comment;
}
add_filter('preprocess_comment', 'helloacm_allow_comment_image');
Käytämme säännöllistä lauseketta kuvien URL-osoitteiden etsimiseen (päättyy jpg/png/jpeg/gif/bmp) ja korvaamme sen HTML-img-tunnisteella. Meidän on myös sallittava IMG-tunniste kommenttiosiossa, jotta se näkyy oikein. Yllä oleva funktio on lisättävä suodattimeen preprocess_comment, joka vedetään ennen kommentin lisäämistä tietokantaan.