Hur tillåter jag bilder istället för URL i WordPress-kommentarer?
Som standard behålls webbadresserna i kommentaren som de är. Om en användare lägger in en bild-URL direkt, skulle det vara trevligt att ersätta URL-adressen med den faktiska HTML-img-taggen. Lägg till följande PHP-kod i ditt wordpress – tema 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');
Vi använder ett reguljärt uttryck för att hitta bildwebbadresser (som slutar med tilläggen jpg/png/jpeg/gif/bmp) och ersätter med HTML-taggen img. Vi måste också tillåta IMG-taggen i kommentarsektionen för att kunna visa den korrekt. Ovanstående funktion måste läggas till i filtret preprocess_comment som anropas innan en kommentar infogas i databasen.