‏نمایش پست‌ها با برچسب php. نمایش همه پست‌ها
‏نمایش پست‌ها با برچسب php. نمایش همه پست‌ها

۱۳۸۹/۱۰/۳۰

اضافه کردن یک باکس جستجو به منو در WordPress

برای اینکار در ورد پرس 3 به بعد باید کدهای زیر را در فایل functions.php که در پوشه تم موجود است قرار دهید اگر این فایل را ندارید با استفاده از یک ویرایشگر متن ساده آن را ایجاد کنید.

add_filter('wp_nav_menu_items','add_search_box', 10, 2);
function add_search_box($items, $args) {

        ob_start();
        get_search_form();
        $searchform = ob_get_contents();
        ob_end_clean();

        $items .= '
  • ' . $searchform . '
  • '; return $items; }

    به همین سادگی!!!
    • Digg
    • Sphinn
    • del.icio.us
    • Facebook
    • Google
    • Furl
    • Reddit
    • StumbleUpon
    • Donbaleh
    • Technorati
    • Balatarin
    • twitthis

    ۱۳۸۹/۱۰/۲۱

    شمارش تعداد لینکهای موجود در قسمت blogroll

    نیاز داشتم تا در سایتی تعداد لینکهای موجود در blogroll شمارش کرده و به کاربر نشان دهم
    یک شی بنامwpfb$ و مقداری کد sql مشکل رو حل کرد.

    کد زیر :
    <?php
    $numlinks = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->links WHERE link_visible = 'Y'");
    if (0 < $numlinks) $numlinks = number_format($numlinks);
    echo $numlinks;
    ?>
    
    
    • Digg
    • Sphinn
    • del.icio.us
    • Facebook
    • Google
    • Furl
    • Reddit
    • StumbleUpon
    • Donbaleh
    • Technorati
    • Balatarin
    • twitthis

    تغییر ویرایشگر پیش فرض در WordPress

    در دشبورد ورد پرس بطور پیش فرض از ادیتور Visual Editor استفاده می شود.
    برای اینکه از ادیتور دیگری مثلا HTML editor استفاده شود باید کد زیر را در در فایل functions.php قرار دهیم.

    add_filter('wp_default_editor', create_function('', 'return "html";'));
    

    • Digg
    • Sphinn
    • del.icio.us
    • Facebook
    • Google
    • Furl
    • Reddit
    • StumbleUpon
    • Donbaleh
    • Technorati
    • Balatarin
    • twitthis

    ۱۳۸۹/۱۰/۱۵

    یک تابع برای دریافت تگهای مرتبط به یک یا چند دسته (گروه) در ورد پرس


    ابتدا به پوشه wp-content\themes رفته و پوشه پوسته مورد نظرمان را پیدا کردم - مثلا پوسته پیش فرض twentyten.

    در مرحله بعدی فایل functions.php را برای ویرایش باز کردم.اگر این فایل رو پیدا نمی کردم باید زحمت ایجادش رو می کشیدم
    کد php زیر را در فایل نوشتم :

    function get_category_tags($args) {
     global $wpdb;
     $tags = $wpdb->get_results
     ("
      SELECT DISTINCT terms2.term_id as tag_id, terms2.name as tag_name, null as tag_link
      FROM
       wp_posts as p1
       LEFT JOIN wp_term_relationships as r1 ON p1.ID = r1.object_ID
       LEFT JOIN wp_term_taxonomy as t1 ON r1.term_taxonomy_id = t1.term_taxonomy_id
       LEFT JOIN wp_terms as terms1 ON t1.term_id = terms1.term_id,
    
       wp_posts as p2
       LEFT JOIN wp_term_relationships as r2 ON p2.ID = r2.object_ID
       LEFT JOIN wp_term_taxonomy as t2 ON r2.term_taxonomy_id = t2.term_taxonomy_id
       LEFT JOIN wp_terms as terms2 ON t2.term_id = terms2.term_id
      WHERE
       t1.taxonomy = 'category' AND p1.post_status = 'publish' AND terms1.term_id IN (".$args['categories'].") AND
       t2.taxonomy = 'post_tag' AND p2.post_status = 'publish'
       AND p1.ID = p2.ID
      ORDER by tag_name
     ");
     $count = 0;
     foreach ($tags as $tag) {
      $tags[$count]->tag_link = get_tag_link($tag->tag_id);
      $count++;
     }
     return $tags;
    }
    
    در مرحله بعدی برای استفاده از تابع بالا در پوسته باید از کد زیر استفاده کنیم :

    $args = array('categories' => '12,13,14');
    $tags = get_category_tags($args);
    

    • Digg
    • Sphinn
    • del.icio.us
    • Facebook
    • Google
    • Furl
    • Reddit
    • StumbleUpon
    • Donbaleh
    • Technorati
    • Balatarin
    • twitthis

    ارسال یک مقاله یا پست در وردپرس با ایمیل

    یکی از دوستان خیلی علاقه مند بود که در وب سایتش به خواننده این امکان را بدهد که اگر از یک مطلب خوشش آمد آن را به دیگران ایمیل کند.

    خلاصه چند روزی روی اعصابم بود باز جای شکرش باقی است که من اصلا با موبایل رابطه خوبی ندارم و گرنه منو دیوانه می کرد.
    بالاخره ناچار شدم یک تغییر کوچک در پوسته سایتش ایجاد کنم.چی کار کردم؟

    ابتدا به پوشه wp-content\themes رفته و پوشه پوسته مورد نظرمان را پیدا کردم - مثلا پوسته پیش فرض twentyten.

    در مرحله بعدی فایل functions.php را برای ویرایش باز کردم.اگر این فایل رو پیدا نمی کردم باید زحمت ایجادش رو می کشیدم
    کد php زیر را در فایل نوشتم :

    function direct_email($text="Send by email"){
            global $post;
            $title = htmlspecialchars($post->post_title);
            $subject = 'Sur '.htmlspecialchars(get_bloginfo('name')).' : '.$title;
            $body = 'I recommend this page : '.$title.'. You can read it on : '.get_permalink($post->ID);
            $link = ''.$text.'';
            return $link;
    }
    
    
    
    • Digg
    • Sphinn
    • del.icio.us
    • Facebook
    • Google
    • Furl
    • Reddit
    • StumbleUpon
    • Donbaleh
    • Technorati
    • Balatarin
    • twitthis

    پاک سازی اتوماتیک زباله دان در WordPress

    از نسخه 2.9 به بعد WordPress صاحب زباله دان شد.هر پست یا نظری که در سایت پاک می شود قبل از اینکه بطور کامل حذف شود در زباله دان قرار می گیرد تا در صورت نیاز بازیابی شود.

    خب من نیاز دارم هر چند روز یک بار این زباله دان را خالی کنم.اما انجام این کار بصورت دستی کمی......

    برای انجام این کار بصورت اتوماتیک ابندا فایل wp-config.php را باز می کنیم و تغییر زیر را در آن اعمال می کنیم :

    define('EMPTY_TRASH_DAYS', 10 );
    
    پارامتر دوم تعداد روزهای مورد نظر برای پاک کردن محتویات زباله دان است .
    در اینجا ما 10 روز را مشخص کردیم.
    • Digg
    • Sphinn
    • del.icio.us
    • Facebook
    • Google
    • Furl
    • Reddit
    • StumbleUpon
    • Donbaleh
    • Technorati
    • Balatarin
    • twitthis

    اطلاع رسانی انتشار پستهای جدید به کاربران سایت یا وبلاگ ورد پرس

    از روزی که برنامه نویسی برای خصوصی سازی WordPress رو شروع کردم هر روز بیشتر بهش علاقه مند میشم. به نظرم اگر به php رو در حد متوسط بلد هستید و با کتابخانه ای مثل JQuery آشنایی دارید هر وب سایتی رو براحتی می تونید با ورد پرس طراحی کنید.

    اما اصل مطلب :

    قصدم این است که با ارسال ایمیل به کاربران سایت انتشار مطالب جدید را اطلاع دهم.ابتدا به پوشه wp-content\themes رفته و پوشه پوسته مورد نظرمان را پیدا می کنیم - مثلا پوسته پیش فرض twentyten.

    در مرحله بعدی فایل functions.php را برای ویرایش باز می کنیم.اگر این فایل رو پیدا نکردیم باید زحمت ایجادش رو بکشیم.
    کد php زیر را در فایل می نویسیم :

    function email_members($post_ID)  {
        global $wpdb;
        $usersarray = $wpdb->get_results("SELECT user_email FROM $wpdb->users;");
        $users = implode(",", $usersarray);
        mail($users, "New WordPress recipe online!", 'A new recipe have been published on http://www.wprecipes.com');
        return $post_ID;
    }
    
    add_action('publish_post', 'email_members');
    
    

    بعد از دخیره فایل هر پستی که در سایت شما انتشار یابد یک ایمیل برای کاربران ثبت شده ارسال خواهد شد.

    منبع : کتابخانه توسعه وردپرس

    • Digg
    • Sphinn
    • del.icio.us
    • Facebook
    • Google
    • Furl
    • Reddit
    • StumbleUpon
    • Donbaleh
    • Technorati
    • Balatarin
    • twitthis