A letter to our bengali community of joomla and wordpress

to whom it may concern or not concern

নোটঃ একান্ত ব্যক্তিগত মতামত, পজেটিভ সমালোচনাও আছে কিছু জায়গায়, কারো কারো ব্যক্তিগত ভাবে লাগতে পারে কিন্তু সত্য সব সময় কঠিন হবে এটা মেনেই বাকীটুকু পড়তে হবে।

// দেশের বিভিন্ন টেক ইভেন্ট আমার অংশ গ্রহন এই রকম প্যাটার্নের ০ ০ ০ ১ ০ ০ ১০১০০০১ মানেই বুঝত পারতে ৩/৪টা ইভেন্টের (যা আমার কাছের সাথে সম্পর্কিত ) গড়ে একটিতে যাওয়া পড়ে। শেষ দুইটি ইভেন্টে অংশগ্রহন ছিল এক/ আজকে জুমলা ৩.x বাংলা অনুবাদ দুই/ ওয়ার্ডপ্রেসিয়ান গ্রুপ এর সম্ভবত ৬ষ্ঠ বা ৭ম মিটাপ। নিজের কিছু ব্যক্তিগত কারণ যেমন, ইভেন্টের দিন সময় বের করা , ইভেন্টে আমার কাজ যদি হয় শুধু বসে বসে শোনা (এক্ষেত্রে এক টানা কিছুক্ষন বসে থাকার পর আবার শারীরিক সমস্যা দেখা দেয় যেটা স্নায়ুবিক)

// দেশে যারা প্রডাক্ট বিক্রি করে তাদের সবাই এনভাটো গিয়ে বিক্রি করে না। অনেকেই নিজদের মার্কেট প্লেস তৈরি করে বিক্রি করে। এর মানে দাড়াচ্ছে এনভাটোর দেশের বর্তমান অনেক অথর যখন মার্কেটপ্লেস কি এটাই জানতো না তখন আমরা কয়েক জন ছোট স্টার্ট আপ দাড় করিয়ে কেউ বিভিন্ন সিএমএস এর জন্য এক্সটেনশন আবার কেউ থীম বা টেমপ্লেট বানিয়ে বিক্রি করতাম। তার মানে দাড়াচ্ছে আমাদের কেউ কেউ এখনো বড় মার্কেট প্লেসের সাথে পাল্লা দিয়ে নিজেদের প্রডাক্ট নিজেদের মার্কেটপ্লেসে বিক্রি করে যাচ্ছি এখনো।

//আমার শেষ থেকে অংশগহন করা ২য় ইভেন্ট ছিল ওয়ার্ডপ্রেসিয়ান এর ৬ষ্ঠ বা ৭ম মিটাপ, সেখানে আমি আর জুমশেপার এর কাউছার ভাই গিয়েছিলাম। একজন সাধারণ অংশগ্রহনকারী হিসাবে গিয়েছিলাম এবং যথেষ্ট ধৈর্য ধরে প্রায় প্রতিটি প্রেজেন্টেশন এর কম বেশি শুনেছি মাঝ খানে টুক টাক আড্ডা ছাড়া। শেষের দিকে যখন কাউছার ভাইকে জুমলার টেমপ্লেট ডেভেলপার হিসাবে পরিচয় করায়ে দেওয়া হল তখন আমি একসময় বের হয়ে আসছি। আমার সামান্য লেগেছিল, কারণ আমরা দুইজনই জুমলা নিয়ে কাজ করে বেশি পরিচিত, উনি টেমপ্লেট বানান, আমি এক্সটেনশন। কাউছার ভাইয়ের উপর কোন রাগ নেই, সে তার কাছের যোগ্য সম্মান পাবে, তার কাজকে আমিও সম্মান করি। কিন্তু মনে হচ্ছে, কিছু মানুষ ওয়ার্ডপ্রেস এর উপর ডেভেলপ করে ফাটিয়ে ফেলতেছে কিন্তু জুমলার এক্সটেনশনের নাম শুনে নাই কখনো ? যেহেতু আমি জুমলা বাংলাদেশ গ্রুপের এডমিনদের একজন এবং যদি জুমলার কোন ইভেন্টের সঞ্চালক থাকি আর সেখানে ওয়ার্ডপ্রেস এর কোন নোটেবল ডেভেলপার থাকে তাহলে আমি তাকে অবশ্যই ডেকে নিব। কারো সাথে যদি আমার ব্যক্তিগত কোন সমস্যাও থাকে কমিউনিটি ইভেন্টে সেটা আমি কোন ভাবেই প্রকাশ করব না।

//ডিজিটাল ওয়ার্ড এর সিএমএস কনফারেন্সে যাওয়ার সময় ম্যানেজ করতে পারি নাই। তবে জানতে পারলাম সেখানে এমন স্পিকারও সিলেক্ট করা হয়েছে যে, জুমলা ফালতু বা জুমলা ৪২০ এমন কথাও বলেছে। আমার মনে হয় জেনে কথা বলা উচিৎ। যে জুমলা এবং ওয়ার্ডপ্রেস বা আরো অন্য সিএমএস নিয়ে জানে সে বুঝতে পারবে এক একটা সিএমএস এর ফিলোসফি, লার্নিং কার্ভ, মার্কেট প্লেস, ব্যবহারের রেটের আপ্স -ডাউন, ব্যবহারের প্রয়োগ এক এক রকম। এটা নির্ভর করে দৃষ্টিভঙ্গির উপর । একটা ছোট উদাহরন দিলে সহজ হবে বুঝতে, একবার জুমলার একটা ইভেন্ট শেষে আমরা সবাই খেয়াল করলাম, কাউছার ভাই এর লেকচার ছিল জুমলা দিয়ে সাইট বানানোর জন্য আপনাকে কোডিং জানতে হবে না আর আমার লেকচার ছিল কোডিং জানতে হবে। যেহেতু উনি টেমপ্লেট নিয়ে বলেছেন উনার পারসপিক্টিভ থেকে, আমি এক্সটেনশন নিয়ে বলেছি আমার পারস্পিক্টিভ থেকে। দুইজনই সঠিক। এর মানে দাড়াচ্ছে আপনি যদি জুমলা নিয়ে সমালোচনা করেন তাহলে এটা জেনে করেন। ডিজিটাল ওয়ার্ল্ডে জুমলার এক্সটেনশন ডেভেলপ নিয়ে একটা লেকচার/স্পিক থাকতেই পারত। কমিউনিটিতে পোস্ট হতে পারত আগ্রহী স্পীকার এবং টপিক লিস্ট নিয়ে। হয়তো বেসিস এটা ম্যানেজ করে, সেটা তাদের ব্যাপার। আমি আমার একান্ত ব্যক্তিগত মতামত দিচ্ছি।

// একই বিষয় নিয়ে কাজ করার জন্য অনেক গুলো গ্রুপ থাকতে পারে, জাতীয় ইভেন্টে সবাইকে এক্টিভ গ্রুপগুলোকে সমন্বয় করা উচিৎ, ব্যক্তি কেন্দ্রিক সিদ্ধান্ত না নিয়ে।

//কোন অপারেটিং সিস্টেম ব্যবহার করছি সেটা আমরা জন্য এত গুরুত্বপূর্ণ না, সেই অপারেটিং সিস্টেমে আমি স্বাচ্ছন্দে কাজ করছি পারছি কিনা সেটাকে গুরুত্ব দেয়।

//জুমলা সম্পর্কে জানার আগে থেকে ওয়ার্ডপ্রেস এর প্রেমে পড়েছি। পরে চাকরী করতে গিয়ে জুমলাতে কাজ করে এটাতেও কাজ শুরু করি। জুমলা, ওয়ার্ডপ্রেস কিংবা মুডল এগুলোর প্রতিটিতে কাজ করছি প্যাশন থেকে, টাকা আয় করার জন্য না। টাকা আয় একটি প্রাকটিক্যাল ধাপ কারণ কাজ করলে টাকা আসবে।

// আমি হনু বলে আমার আশে পাশের বাগানে আর কোন হনুমান থাকতে পারবে না বা আর কেউ কাজ করতে পারবে না এমন ভাবার কারণ নাই। আমি ‘x’ নিয়ে কাজ করছ বলে আশে পাশের সবাই ‘x’ নিয়ে কাজ করবে এমন ভাবার কিছু নাই। সহজ কাজ সবাই করে, কঠিন কাজ করার লোকের অভাব। ‘ক’ প্রতিষ্ঠান ওয়ার্ডপ্রেস নিয়ে কোর্স করালে ‘খ’ গ্রুপের গাত্র দাহ হবার কিছু নাই। ‘গ’ জুমলার একটা ভালো টেমপ্লেটে বানালে ‘ঘ’ কম্পানীর এটা নিয়ে ঘষাঘষির কিছু নাই। পারলে ভালো কিছু কর, পারলে ভালো কাজের প্রশংসা কর, খারাপ কাজের পজেটিভ সমালোচনা কর। কিছুদিন আগে রাগীব ভাইয়ের শিক্ষক সাইটের ওয়ার্ডপ্রেস এর একটা কোর্স নিয়ে ওয়ার্ডপ্রেসিয়ান গ্রুপের সাধারণ সদস্যের পাশাপাশি এডমিনদের পক্ষ থেকে কুৎশিত ভালো নেগেটিভ সমালোচনা করতে দেখেছি। দ্বায়িত্বশীলতা আর বালখিল্যতা এক নয়। আমি নিজেও ওয়ার্ডপ্রেসিয়ান গ্রুপের নিয়মিত সদস্য, সময় পেলেই সাহায্য করি অন্যদের যেমনটা জুমলা বাংলাদেশ গ্রুপে। নতুনরা উদ্ভুৎ ভাবে প্রশ্ন করলে তাদের মাথা ঠান্ডা করে কোন সময় মজা করে বা কোন সময় বকা দিয়ে সাহায্য করার চেস্টা করি।

//কাউকে ফলো না করে নিজের মত নিজের ট্রেন্ড নিয়ে চলতে পছন্দ করি। কেউ আমাকে ফলো করুক না করুক তা নিয়ে আমার কোন চিন্তা নাই। আমার কাউকে ফলো করতেই হবে এমন ভাবার কিছু নাই। তবে কমিউনিটি ইভেন্ট গুলোতে আমি সবাইকে সম্মান দেওয়ার চেস্টা করি এবং সবার মতামত গ্রহন করে কাজ করতে পছন্দ করি, দিন শেষে কাজগুলো শেষ করতে পছন্দ করি।

// হুট জুমলা বা ওয়ার্ডপ্রেস নিয়ে কাজ করে টাকা করা টাইপ লোক আমি নই, আমি আমার ক্যারিয়ার এর শুরু থেকে এগুলো নিয়ে কাজ করি, যতদূর সম্ভব কমিউনিটিতে কন্ট্রিবিউট করার চেস্টা করি। প্যাশন থেকে করি।

নোটঃ একান্ত ব্যক্তিগত মতামত, পজেটিভ সমালোচনাও আছে কিছু জায়গায়, কারো কারো ব্যক্তিগত ভাবে লাগতে পারে কিন্তু সত্য সব সময় কঠিন হবে এবং আপনি হয়তো মনে করতে পারেন , আমার এই লেখাকে আপনি পাত্তা দেন না কিন্তু সময় নিয়ে ধৈর্য্য ধরে পড়ার জন্য ধন্যবাদ

পোস্টটির সাথে সম্পর্কিত এবং সম্পর্কিত নয় এমন কয়েকজনকে ট্যাগ করলাম। কেউ চাইলে নিজেকে আন ট্যাগ করে নিতে পারেন।

Search User by Display Name in WordPress Sitewide

In wordpress in backend or if you use wordpress user query ‘WP_User_Query’ by default it will not search by display_name even if you add display_name in “search_columns” field of WP_User_Query
So, this can be achieved by this small filter https://gist.github.com/manchumahara/9910185 (after add this code now if you search in your wordpress admin panel for user with their display name it will work)

ref: https://codex.wordpress.org/Class_Reference/WP_User_Query

Category Post Count in WordPress (Custom Taxonomy with Custom Post Type)

Let me explain my need in short:

I want to show post count for any category/any custom taxonomy registered for any custom post type. I searched wordpress forums and in google, found some solutions using

Nothing helped me such way, so I managed my own way with my little knowledge.

wp_get_productcat_postcount($id, $posttype = ‘product’, $taxname = ‘product_cat’)

$id = category or any taxonomy id(term id)
$posttype = post type name, example: post, page, or any custom post type
$taxname = taxonomy name or any category type name, for joomla default taxonomy it will category, post_tag, nav_menu, link_category, post_format, but we can use any custom taxonomy name as I used ‘product_cat’ which is used with custom post type ‘product’ , post type name.

[code lang=”php”]
function wp_get_productcat_postcount($id, $posttype = ‘product’, $taxname = ‘product_cat’) {

$result = wp_cache_get( ‘taxpostcount’.$id, ‘cbtaxpostcount’ );
//var_dump($resul);

if ( false === $result ) {

$args = array(
‘post_type’ => $posttype,
‘post_status’ => ‘publish’,
‘posts_per_page’ => -1,
‘tax_query’ => array(
‘relation’ => ‘AND’,
array(
‘taxonomy’ => $taxname,
‘field’ => ‘id’,
‘terms’ => array( $id )
)
)
);

$query = new WP_Query( $args);
/*
echo ‘<pre>’;

print_r($query->post_count);
echo ‘</pre>’;
*/
$result = (int)$query->post_count;

$cacheresult = wp_cache_set( ‘taxpostcount’.$id, $result, ‘cbtaxpostcount’ );
//var_dump($cacheresult);
}
return $result;
}
[/code]

Note: As I used wordpress object cache for better performance.

Thanks for reading, any comment is appreciable.

Google Plus Comment for WordPress

Google Plus Introduced Social comment plugin(unofficially). so I just made a small shortcode based plugin for wordpress to test the baby.

BTW, I noticed about this from google plus.

Download from bellow:

[download id=”36″]

Demo:
Please check here .

Shortcode:
[gpluscomment]

For more technical people
'url' => '', // leave empty for current post
'width' => '500',
'js' => 1,
'showarchive' => false,
'showhome' => false

My Test results screenshots:

আসুন ওয়ার্ডপ্রেসের ড্যাশ বোর্ড পরিস্কার করি

ওয়ার্ডপ্রেসের এডমিন প্যানেলে লগিন করলেই একগাদা বক্স এসে হাজির হয়। যদিও স্ক্রিন অপশন থেকে সেগুলো সহজে তাড়ানো যায় কিন্তু যদি এমন হয় এডমিন নিজেই ড্যাশবোর্ড পরিস্কার করে রেখে দিলেন নতুন সদস্যের জন্য। তবে এই পরিস্কার এর কাজটা আমরা করবো সামান্য কিছু পিএইচপি কোডিং করে।

ধাপ একঃ প্রথমে আপনার থীমের functions.php ফাইলে এ ২টি ফাংশন লিখতে হবে। মনে রাখবেন প্লাগিন এর কোডগুলো চাইলে functions.php ফাইলেও লেখা যায়। তাহলে শুরু করা যাকঃ
[code language=”php”]
//Define the function which unsets the boxes
function remove_dashboard_widgets() {
global $wp_meta_boxes;
myprint_r($wp_meta_boxes);
/*
//unset($wp_meta_boxes[‘dashboard’][‘normal’][‘core’][‘dashboard_right_now’]);
# Remove plugins feed
unset($wp_meta_boxes[‘dashboard’][‘normal’][‘core’][‘dashboard_plugins’]);
unset($wp_meta_boxes[‘dashboard’][‘side’][‘core’][‘dashboard_plugins’]);
# Remove "WordPress News"
unset($wp_meta_boxes[‘dashboard’][‘normal’][‘core’][‘dashboard_primary’]);
unset($wp_meta_boxes[‘dashboard’][‘side’][‘core’][‘dashboard_primary’]);
unset($wp_meta_boxes[‘dashboard’][‘normal’][‘core’][‘dashboard_secondary’]);
unset($wp_meta_boxes[‘dashboard’][‘side’][‘core’][‘dashboard_secondary’]);
# Remove incoming links feed
unset($wp_meta_boxes[‘dashboard’][‘normal’][‘core’][‘dashboard_incoming_links’]);
unset($wp_meta_boxes[‘dashboard’][‘side’][‘core’][‘dashboard_incoming_links’]);

unset($wp_meta_boxes[‘dashboard’][‘side’][‘core’][‘dashboard_recent_drafts’]);
unset($wp_meta_boxes[‘dashboard’][‘normal’][‘core’][‘dashboard_recent_comments’]);
unset($wp_meta_boxes[‘dashboard’][‘side’][‘core’][‘dashboard_quick_press’]);
unset($wp_meta_boxes[‘dashboard’][‘normal’][‘core’][‘events_dashboard_window’]);
*/
}
// Now hook in to the action
add_action(‘wp_dashboard_setup’, ‘remove_dashboard_widgets’, 20, 0);

//better print_r function taken from
//http://stackoverflow.com/questions/1386331/php-print-r-nice-table
function myprint_r($my_array) {
if (is_array($my_array)) {
echo "<table border=1 cellspacing=0 cellpadding=3 width=100%>";
echo ‘<tr><td colspan=2 style="background-color:#333333;"><strong><font color=white>ARRAY</font></strong></td></tr>’;
foreach ($my_array as $k => $v) {
echo ‘<tr><td valign="top" style="width:40px;background-color:#F0F0F0;">’;
echo ‘<strong>’ . $k . "</strong></td><td>";
myprint_r($v);
echo "</td></tr>";
}
echo "</table>";
return;
}
echo $my_array;
}

[/code]
Continue reading