উত্তর:
কন্টেন্ট স্মিলি এর সাথে রূপান্তরিত হয়:
add_filter( 'the_content', 'convert_smilies' );
যেখানে এই অংশ এর convert_smilies()
ফাংশন গুরুত্ব রয়েছে:
$content = preg_replace_callback( $wp_smiliessearch, 'translate_smiley', $content );
আমরা যদি উঁকি দিই translate_smiley()
তবে আমরা নিম্নলিখিতটি পাই :
// Don't convert smilies that aren't images - they're probably emoji.
if ( ! in_array( $ext, $image_exts ) ) {
return $img;
}
smilies_src
ফিল্টার প্রয়োগ করার আগে ।
তাই এই ফিল্টারটি :)
হাসির ক্ষেত্রে পাওয়া যায় না ।
আমাদের সাথে স্মাইলি সূচনা হয়েছে:
add_action( 'init', 'smilies_init', 5 );
এবং ফাংশন বর্ণনার মধ্যে smilies_init()
আমরা নিম্নলিখিতটি পড়তে পারি :
প্লাগইনগুলি
$wpsmiliestrans
অ্যারেতে সেট করে ডিফল্ট স্মাইলি লিস্টটি ওভাররাইড করতে পারে , যা দিয়ে ব্লগার টাইপ করে কোডটি এবং ইমেজ ফাইলের মানটি দিয়ে।
এখানে বিশ্বব্যাপী $wpsmiliestrans
অ্যারে:
$wpsmiliestrans = array(
':mrgreen:' => 'mrgreen.png',
':neutral:' => "\xf0\x9f\x98\x90",
':twisted:' => "\xf0\x9f\x98\x88",
':arrow:' => "\xe2\x9e\xa1",
':shock:' => "\xf0\x9f\x98\xaf",
':smile:' => "\xf0\x9f\x99\x82",
':???:' => "\xf0\x9f\x98\x95",
':cool:' => "\xf0\x9f\x98\x8e",
':evil:' => "\xf0\x9f\x91\xbf",
':grin:' => "\xf0\x9f\x98\x80",
':idea:' => "\xf0\x9f\x92\xa1",
':oops:' => "\xf0\x9f\x98\xb3",
':razz:' => "\xf0\x9f\x98\x9b",
':roll:' => 'rolleyes.png',
':wink:' => "\xf0\x9f\x98\x89",
':cry:' => "\xf0\x9f\x98\xa5",
':eek:' => "\xf0\x9f\x98\xae",
':lol:' => "\xf0\x9f\x98\x86",
':mad:' => "\xf0\x9f\x98\xa1",
':sad:' => "\xf0\x9f\x99\x81",
'8-)' => "\xf0\x9f\x98\x8e",
'8-O' => "\xf0\x9f\x98\xaf",
':-(' => "\xf0\x9f\x99\x81",
':-)' => "\xf0\x9f\x99\x82",
':-?' => "\xf0\x9f\x98\x95",
':-D' => "\xf0\x9f\x98\x80",
':-P' => "\xf0\x9f\x98\x9b",
':-o' => "\xf0\x9f\x98\xae",
':-x' => "\xf0\x9f\x98\xa1",
':-|' => "\xf0\x9f\x98\x90",
';-)' => "\xf0\x9f\x98\x89",
// This one transformation breaks regular text with frequency.
// '8)' => "\xf0\x9f\x98\x8e",
'8O' => "\xf0\x9f\x98\xaf",
':(' => "\xf0\x9f\x99\x81",
':)' => "\xf0\x9f\x99\x82",
':?' => "\xf0\x9f\x98\x95",
':D' => "\xf0\x9f\x98\x80",
':P' => "\xf0\x9f\x98\x9b",
':o' => "\xf0\x9f\x98\xae",
':x' => "\xf0\x9f\x98\xa1",
':|' => "\xf0\x9f\x98\x90",
';)' => "\xf0\x9f\x98\x89",
':!:' => "\xe2\x9d\x97",
':?:' => "\xe2\x9d\x93",
);
বা ভাল কসর্টড ডিসপ্লে:
Array
(
[;-)] => 😉
[;)] => 😉
[:|] => 😐
[:x] => 😡
[:wink:] => 😉
[:twisted:] => 😈
[:smile:] => 🙂
[:shock:] => 😯
[:sad:] => 🙁
[:roll:] => rolleyes.png
[:razz:] => 😛
[:oops:] => 😳
[:o] => 😮
[:neutral:] => 😐
[:mrgreen:] => mrgreen.png
[:mad:] => 😡
[:lol:] => 😆
[:idea:] => 💡
[:grin:] => 😀
[:evil:] => 👿
[:eek:] => 😮
[:cry:] => 😥
[:cool:] => 😎
[:arrow:] => ➡
[:P] => 😛
[:D] => 😀
[:???:] => 😕
[:?:] => ❓
[:?] => 😕
[:-|] => 😐
[:-x] => 😡
[:-o] => 😮
[:-P] => 😛
[:-D] => 😀
[:-?] => 😕
[:-)] => 🙂
[:-(] => 🙁
[:)] => 🙂
[:(] => 🙁
[:!:] => ❗
[8O] => 😯
[8-O] => 😯
[8-)] => 😎
)
সুতরাং আমি যদি উপরের মূল মন্তব্যটি সঠিকভাবে বুঝতে পারি তবে আমরা নিম্নলিখিতটি করতে পারি:
/**
* :) as the cool emoji
*/
add_action( 'init', function() use ( &$wpsmiliestrans )
{
if( is_array( $wpsmiliestrans ) && get_option( 'use_smilies' ) )
$wpsmiliestrans[':)'] = $wpsmiliestrans[':cool:'];
}, 6 );
তবে এটি কেবল পূর্বনির্ধারিত স্মাইলি কীগুলির জন্য $wp_smiliessearch
কাজ করে।
তবে আমি বিশ্বব্যাপী অ্যারে পরিবর্তন করে এই প্রস্তাবিত পদ্ধতির পছন্দ করি না! আশা করি এর চেয়ে আরও ভালো কিছু আছে!
আমি এই জন্য একটি আবেদন সঙ্গে আসতে চেষ্টা করেছি। এটি ইতিমধ্যে বিদ্যমান কিনা আমি নিশ্চিত নই, তবে এটি এখানে রয়েছে:
<?php
/**
* Plugin Name: Santa's Smile In December
* Description: Change the emoji of :) to the Santa Claus emoji, but only in December
* Plugin URI: https://wordpress.stackexchange.com/a/218496/26350
*/
add_action( 'init', function() use ( &$wpsmiliestrans )
{
// :) as Santa Claus
if(
is_array( $wpsmiliestrans )
&& get_option( 'use_smilies' )
&& 12 == current_time( 'n' )
)
$wpsmiliestrans[':)'] = "\xF0\x9F\x8E\x85";
}, 6 );
বিশ্বব্যাপী মন্তব্যের জন্য ইসমাইল মিগুয়েলকে ধন্যবাদ , আমি সেই অনুযায়ী স্নিপেটগুলি আবার লিখেছি।
এখানে নতুন তৈরি টিকেট # 35905 দ্বারা পিটার Goosen একটি নতুন সম্বন্ধে smilies_trans
ফিল্টার।
নতুন ফিল্টারটি ওয়ার্ডপ্রেস 4.7+ এ উপলব্ধ হবে তবে এটির নামটি থাকবে smilies
না smilies_trans
।
আমাদের উপরের উদাহরণগুলি লিখিত হতে পারে:
add_filter( 'smilies', function( $smilies )
{
if( isset( $smilies[':cool:'] ) )
$smilies[':)'] = $smilies[':cool:'];
return $smilies;
} );
বা স্পষ্টভাবে এর সাথে:
add_filter( 'smilies', function( $smilies )
{
$smilies[':)'] = "\xf0\x9f\x98\x8e";
return $smilies;
} );
ডেমো প্লাগইনটি হয়ে যায়:
<?php
/**
* Plugin Name: Santa's Smile In December
* Description: Change the emoji of :) to the Santa Claus emoji, but only in December
* Plugin URI: https://wordpress.stackexchange.com/a/218496/26350
*/
add_filter( 'smilies', function( $smilies )
{
// :) as Santa Claus
if( get_option( 'use_smilies' ) && 12 == current_time( 'n' ) )
$smilies[':)'] = "\xF0\x9F\x8E\x85";
return $smilies;
} );
আমাদের $wpsmiliestrans
আর গ্লোবাল অ্যারে নিয়ে গণ্ডগোলের দরকার নেই!
add_action( 'init', function() use (&$wpsmiliestrans){ $wpsmiliestrans[':)'] = "\xf0\x9f\x98\x8e"; }, 6 );
?
use
এখানে আমার জবাবগুলিতে প্রচুর শব্দটি ব্যবহার করি, তবে এটি গ্লোবালগুলি সম্পর্কে একটি ভাল অনুস্মারক, আবার ধন্যবাদ (:) <- সম্ভবত আমরা প্রত্যেকের জন্য আরও ভাল অ্যাক্সেসযোগ্যতার জন্য একটি প্রতিসৃত স্মাইলি ব্যবহার করতে পারি
স্মাইলি ব্যবহারের বিষয়ে ওয়ার্ডপ্রেস কোডেক্স অনুসারে :
আপনি নিজের ইচ্ছুক চিত্রগুলি একই সার্ভারে আপনার সার্ভারে আপলোড করুন (ডাব্লুপি-কন্টেন্ট / চিত্র / স্মাইলিতে বলুন) এবং এটি আপনার থিমের ফাংশনে রেখে দিন: পিএফপি:
add_filter ('হাসি_সিসিআর', 'মাই_ কাস্টম_স্মিলি_সিসিআর', 10, 3); my_custom_smille_src ($ img_src, $ img, $ siteurl) function ফাংশন করুন { প্রত্যাবর্তন $ সাইটুরল। '/ ডাব্লুপি-সামগ্রী / চিত্র / হাসি /' $ }যে প্রতিস্থাপন করবে http://example.com/wp-includes/images/smilies/icon_question.gif সঙ্গে http://example.com/wp-content/images/smilies/icon_question.gif
3
, এটা সেটিং 1
যেমন আপনার কোড ব্যর্থ হবে $img
, $siteurl
এড়িয়ে যাওয়া হবে এবং তজ্জন্য আপনার ফিল্টার :-) মধ্যে অনির্দিষ্ট করা হবে