KBoardに「New」のラベルを追加する(WordPress)

Last Updated:2016年07月28日| | 60のコメント

bbPressのプラグイン中に新しい記事が上がると、「New」ラベルが表示されるようにするプラグインがあります。 しかし、古すぎるため、最新のbbPressバージョンでは動作しないという問題があります。 それで、自分で一度作ってみようという考えで、新しい文に「New」というラベルを付ける関数を作ることにしました。 私は単純に考えて、記事の日付と現在の日付との間の差を計算し、数日以内の記事に新しいラベルを付ける方法で作ったらどうでしょうか。

phpのカマクヌンな私としては大変な挑戦と言えるでしょう。 (もちろん、プログラマが見ると、本当に単純なことのように見えるね。)インターネットの各種日付関連のソースを持って工夫することを数日ではなく、数時間でやっと作り上げることができました。 同じソースを持ってKBoardに適用すると、どうするもう無駄な気がするのがないですか? だからKboardに同じ方法で適用したが、結果は予想通りにうまく機能ですね。 結果画面を一度見ると、次のように新しい記事にNewラベルが追加されているのを見ることができます。

Kboard New Label
希望時の方は、以下の二つのコードをそれぞれテーマの関数ファイル(functions.php)とKboardのskinフォルダの下list.phpに貼り付けします。 (下の紫にされた数3は、所望の数に変更してください。もし7日以内の記事にNewラベルを表示するには、7に変更します。)

// functions.php 
function mycustom_new_label_bbp($now, $last_active) {
$now = new DateTime($new);
$last_active = new dateTime($last_active);
$interval = $last_active->diff($now);
$difference = $interval->format('%R%a days');
if($difference < 3) {
echo "<span class='mycustom_new_label'>";
echo "New"; echo '</span>';
}
}

そして以下の部分(2~4行目)のコードをkboard > skin > "スキン名"フォルダ内のlist.phpファイルに挿入。

<td class="kboard-list-title"><div class="cut_strings"> 
<?php $now = date("Y-m-d");   
$last_active = date("Y-m-d", strtotime($content->date));   
mycustom_new_label_bbp($now, $last_active); ?>        
<a href="<?php echo $url->set('uid', $content->uid)->set('mod', 'document')->toString()?>"><?php echo $content->title?>        <?php if($content->secret):?><img src="<?php echo $skin_path?>/images/icon_lock.png" alt="<?php echo __('Secret', 'kboard')?>"><?php endif?>

そして最後に、CSSでNewラベルの形を飾ることが残っています。

.mycustom_new_label {
 display: inline;
 padding: .2em .6em .3em;
 font-size: 11px;
 line-height: 1;
 color: #ffffff;
 background-color: #d9534f;
 text-align: center;
 white-space: nowrap;
 vertical-align: baseline;
 border-radius: .25em;
 }

特別なことではありませんが、こんな些細な機能を追加することで掲示板がより活気を帯びるような感じは私だけでしょうか… 以上で詰まらない式で作ったKBoardにNewラベルを追加するコードでした。

追加(2015年7月22日)

上記三コードを一つ合わせKBoardスキンファイルにすぐに適用が可能です。 (PHPの少し知っていれば簡単にできます。)しかし、一つ合わせた場合、コードがあまりにも長くなってCSSで変更しようとする場合に問題があるため、便宜上、上記のよう関数ファイルの部分とCSSの部分を別々に分離しました。

参照

連休の間熱心に(?)の付いたおかげで、今週が翻訳の仕事はようやく仕上げました。 来週からまた新しいプロジェクトでは、待っていますね。


60のコメント

コメント

  1. 最近Kboardでnewラベルを自動的に表示するので、上記の方法を使用する必要はありません。
    ただし、基本的に提供されるNewラベル機能が気に入らなかったり変えなければならする場合、上記のコードを応用することができるようになります。

    応答
  2. こんにちは。

    ワードクラッカー様コードを応用して作成日に一日未満の場合は、時間を、一日以上であれば、日付を表示しようとし
    list.phpファイルを次のように変更した完全アンナオネヨ。

    <td class="kboard-list-date">
    <?php $now = new DateTime($new);
    $last_active = new dateTime($last_active);
    $interval = $last_active->diff($now);
    $difference = $interval->format('%R%a days'); ?>
    if($difference >= 1){
    echo date("m-d", strtotime($content->date));
    }
    else{
    echo date("H:i", strtotime($content->date));
    }
    </td>

    何が悪いのでしょうか?
    時間ステップアップ時に確認していただければ本当にありがたいです。
    ありがとうございます。
    こっくり

    応答
    • こんにちは?

      遅い時刻なのに熱心ですね。

      コード自体が正しいことをはよく分かりません。

      しかし、作成されたコードに、基本的な文法エラーがあります。

      <?php $now = new DateTime($new);
      $ last_active = new dateTime($ last_active);
      $ interval = $ last_active-> diff($ now);
      $ difference = $ interval-> format( '%R%a days');
      if($ difference> = 1){
           echo date( "md"、strtotime($ content-> date));
      }
      他{
           echo date( "H:i"、strtotime($ content-> date));
      }
      ?>

      上記のように修正して見てテストしてみてください。 もし正しくないと、日付echo部分が正しいことを確認してください^^

      応答
    • そして引用はハングルで使用される曲線の形状の引用ではなく、英語で使用される直線状の引用符を使用してください。

      応答
  3. こんにちは。
    お知らせいただいた方法でて、最終的に成功をした 
    以下のように一般的なテキストで表示されます。 
    テーマの問題でしょうか?

    応答
    • こんにちは? 現在、多くの発展を遂げていらっしゃいますね。

      該当部分を図のアイコンとして作成して追加もできます。 そのためには、コードを少し変更する必要がするんですが。

      echo "";
      echo "New"; echo '';

      上記のコードを下記の同様変えまして、テストしてみてください。

      echo ' ';

      上記の図のパスを変えていただいて幅と高さのサイズも適切に修正していただければされます。

      それともCSSコードで!importantを追加する方法も試してみてください。 (http://www.w3.org/TR/CSS21/cascade.html#important-rules 参考)

      応答
      • お知らせいただいた通りして成功したサイズが変更されませんㅠㅠ 

        そして申し訳ありませんだが、
        私は以下のコードをコメントアウトしてケプチャ機能を削除しようとしたが、 
        セキュリティコードのエラーが出ながらライティングウィンドウが更新されます。 
        KBoard スレッド掲示板にもあげたが、答えがなくてここに全部質問します。 

        editor.php


                    " alt="">
                    
                -->

         

        list.php

        <!--                

        " alt="">
                            -->

        申し訳ありませんしありがとうございます!

      • こんにちは? 画像サイズは style="width:20px!important;height:20px!important;" のように !important を一度貼ってみてください。
        セキュリティコードは必須で指定されているので、削除すると、エラーが私になります。 この部分は、製作者の回答を待たれるのがよさそうです。 だから、楽しい夜の時間になってください。

      • ありがとうございます。

        画像のサイズを解決しました。
        本当にどう答えるべきか...
        食事でも買ってしたいと思い!!! 
        キャップ車 製作者が editorとlistを変更すると、とした、実際にはエラーが生じますね。
        掲示板に問い合わせたところ、まだ答えがないよ。 
        掲示板プラグインは、た高つ越えて別の頭が継続つながるようです。
        「KBOARD画像を挿入する」が長すぎて修正したところ、メディアライブラリが機能しなくなり、 
        掲示板を複数作成するスキンがそれぞれ独立して動作するのではなく、すべての掲示板で、1つのスキンだけ一括して動作します。 
        もしかしたら KBOARD画像を挿入する機能で容量制限する方法をご存知でしょうか?

        毎回嵐質問しすぎる申し訳ありませんだが、 
        ワードクラッカー様が WordPress, KBoard 知識が多いせる 
        しきりに意志になりますね。
        ありがとうございます。
        こっくり
      • こんにちは?

        まず、画像容量を制限する方法について説明すると、クリエイターが正確にどのように画像を挿入したのかはわかりませんが、投稿エディタを「WordPress 基本エディタ」を選択すると、このボタンが出てくると見て WordPressの基本的な機能を利用したものです。 次のコードをテーマの関数ファイル(functions.php)の最後に入れて今まで正常に動作していることを確認してくださるでしょうか?

        add_filter( 'upload_size_limit'、 'b5f_increase_upload');
        function b5f_increase_upload($ bytes)
        {
        if(current_user_can(「editor」)|| current_user_can(「administrator」)){
            return 33554432; // 32 megabytes
        }
        他{
        return 512000; // 0.512 MB
        }
        }

        管理者でなければ500KB以下のみアップロードが可能なようにコードを組んでみましたが正常に動作しするか分からないですね。

        スキンが独立して動作していない問題は、2つに考えてみることができるようになります。 もし各スキンのフィールドは正確に出てくるが、レイアウトが同じように出てくる場合は、CSSの問題である。 スキンを作成するときに、各スキンごとに固有の要素(element)が入るように編集が求められます。 この問題は、CSSを勉強してみてください。 第二には、スキンを複数作成し掲示板ごとに異なるスキンを選択した同じ一つのスキンですべて出てきたなら、スキンを作成するときに設定が誤っているか掲示板の設定でスキン設定が間違っているようですね。 この問題は、スキンを作ると掲示板を設定する基本的な事項からチェックしてください。

      • テストしたところ動作しません。

        容量を制限していないと、サーバの容量がすぐに帽子をのに〓〓 
        スキンが独立して動作していない問題は、最初の診断が正しいようです。
        私の開発者ではないのでcssはとても難しいみたいただしたスキンのみを使用することで妥協するつもりですよ。 
        もう一つ質問がありますが、下図の「メディア追加」(ADD MEDIA)ボタンを 
        KBoardで選択された管理者にのみ表示しようとし 
        index.phpファイルから下の部分を 
        /*
         *書くエディタに画像ボタンを登録する。
         */
        function kboard_register_media_button($ buttons){
        array_push($buttons, 'kboard_media');
        return $ buttons;
        }
        /*
         *書くエディタに画像ボタンを追加します。
         */
        function kboard_add_media_button($plugin_array){
        $plugin_array['kboard_media_button_script'] = plugins_url( '/template/js/editor_media_button.js'、__FILE__);
        $を返すplugin_array;
        }
        下記のように変更したところ、 
        /*
         *書くエディタに画像ボタンを登録する。
         */
        function kboard_register_media_button($ buttons){

        if(is_admin()){
        array_push($buttons, 'kboard_media');
        return $ buttons;
        }
        }
        /*
         *書くエディタに画像ボタンを追加します。
         */
        function kboard_add_media_button($plugin_array){
        if(is_admin()){
        $plugin_array['kboard_media_button_script'] = plugins_url( '/template/js/editor_media_button.js'、__FILE__);
        $を返すplugin_array;
        }
        }
        ADD MEDIAとKBOARD画像の挿入ボタンの両方が消えます。 
        そして、indexファイルのみ触れるメディアライブラリが動作を停止して。 
        発行元掲示板を検索したところ、 ワードプレス内蔵エディタで処理される部分であるようだ
        メディアを追加ボタンを選択し、管理者にのみ表示することが 可能でしょうか?

        質問が多く長くとても申し訳ありませんㅠㅠ 
        ありがとうございます
        こっくり
      • http://www.cosmosfarm.com/threads/document/6451 記事に記載されている方法で、ボタンが消えでしょうか?

        ----------

        /kboard/index.phpファイルにkboard_init()関数があります。

        下の部分をコメントアウトしてください。

        if(!is_admin()){
                add_action(「media_buttons_context '、' kboard_editor_button ');
                add_filter( 'mce_buttons'、 'kboard_register_media_button');
                add_filter('mce_external_plugins', 'kboard_add_media_button');
        }
      • ファイルのアップロードのサイズ制限するコードで、次の関数を代わりに使用してみてください?

        function filter_site_upload_size_limit($ size){
            // Set the upload size limit to 0.1 MB for users lacking the」manage_options」capability。
            if(!current_user_can(「manage_options ')){
                // 0.1 MB。
                $ size = 1024 * 100;
            }
            return $ size;
        }
        add_filter( 'upload_size_limit'、 'filter_site_upload_size_limit」、20);
      • 迅速な回答ありがとうございます〜 

        ところが、適用した動作しませんㅠㅠ 

        ボタンについてお知らせいただいた情報は、「KBOARD画像を挿入する」ボタンをなくす方法です。
        私 KBOARD画像を挿入するボタンはそのまま表示して「メディアを追加」(WordPressエディタ内蔵機能、おそらく)ボタンを選択し、管理者にのみ表示したいと思います。

        ありがとうございます。
        こっくり
      • 私がこの機能を使用していなくて、その部分を見ていないカット。

        次の関数を試してください。 うまくいかない場合は、メーカーに連絡してください。 次の機能は、管理者以外のユーザーに「Add Media」ボタンを隠す機能をします。

        function RemoveAddMediaButtonsForNonAdmins(){
            if(!current_user_can(「manage_options ')){
                remove_action(「media_buttons '、' media_buttons ');
            }
        }
        add_action(「admin_head '、' RemoveAddMediaButtonsForNonAdmins ');
      • 完璧に動作します!

        専業開発者でもないプラヤ天才シムダン!
        完全ありがとう!
        どのように感謝をドリルかㅠㅠㅠㅠ 
        ありがとうございます~~~ !!!
      • うまくいったとしたら幸いですね。 楽しい一日になってください。

      • こんにちは、画像容量の調整が修正されました。

        /kboard/class/KBFileHandler.class.phpファイルで

        function upload($name, $extension=array(), $extension_type=1, $limit_file_size=10485760)$limit_file_size

        この部分の値を変更すると、アップロード容量を調整できます。(出典: http://www.cosmosfarm.com/threads/document/6460)キャプチャの無効化は今日もう一度やろうとしています。今日も嵐の質問があるかもしれません。

      • こんにちは。

        ケプチャ無効はどうしても失敗と思わ〓〓 
        ワードクラッカーさんが、この機能に好奇心を感じまして 
        一度試してみてみたいのが最善であると思われる(笑) 
        平安一日を過ごす〜

        ありがとうございます。
        こっくり
      • こんにちは? キャップ車スパムを防止するために、ある程度の役割をするので、あった方が良いようです。 ほとんどの場合、ケプチャを量るをしたいので、開発者がデフォルト(基本)でケプチャを追加したようです。
        時間になれば https://www.thewordcracker.com/scribblings/how-to-hide-woocommerce-billing-and-shipping-address-in-wordpress/ 記事を一度参考にしてください。 unset($fields['order']['order_comments']); 形式で必須のフィールド値を削除していますね。 この部分を適用できるかどうかを確認してください。 それでは、楽しい一日をお過ごしください。

  4. ちなみにNEWラベルを文字の代わりに画像を挿入するには:
    関数ファイルから:

    echo "";
    echo "New"; echo '';

    この部分を、以下のようなコードに変更たらされます。

    echo 'http://www.abc.com/..../new.gif"alt =" New "height =" 17px "width =" 17px "> ';

    これは一つの例示だよ、CSSを使用して必要に応じて調整することができます。

    応答
  5. 最後に知らせるシンデにしても失敗しました〓〓が間違ったのでしょう。

    他の方法はないでしょうか。他の人は、あらようだ、new表示必ずつけたい〓〓

    応答
    • ない理由を知ることができないですね。 テーマのせいか、または他の問題があることを... まず、掲示板スキンが正しいかどうか一度確認してください。 そして、次のコードをList.phpに追加して文字が表示されるテストしてみてください。


      応答
    • こんにちは? ひょっとして、テストを行っていた、異常なしでうまく動作しますね。 上記のコードは、非常に単純なPHPコードです。 したがって、動作しないというのが少し奇妙です。 掲示板のスキンを正しく設定している確認してください。 それでもうまくいかないましたら https://www.thewordcracker.com/support-system/ お問い合わせページから、サイトの関連情報をお知らせいただければ、時間になると、一度調べてドリルすることはできます。 (しかし、今は少し忙しく金曜日ギョンチュムにできることがあります。)では、楽しい一日になってください。

      応答
      • 助け本当にありがとうございます。 再テストしてみましょう! 今日は成功する〜アザ者!

      • ありがとうございます! 成功しました。 私はミスがありましたねㅠㅠもう一つお聞きみ、最近の投稿でもnew表示が可能でしょうか?

      • もちろん可能です。 おそらくlatest.phpファイルが最近の投稿を制御するファイルである。 このファイルの適切な場所にlist.phpに挿入した同じコードを挿入ください。

  6. こんにちは WordPress 初心者です...新しくしたいのですがうまくいきませんㅠㅠ

    kboard> skin>の使用スキンフォルダのlistで

    で始まる文の下に2箇所

    あげてくださったソースコードを入れたstyle.cssにも入れたが。

    funtions.phpファイルがないㅜㅜもしかしたら、新しく作成していますか?

    kboard> helperフォルダにfunctions.helper.phpファイルがあり、この

     ファイルではないよ? ここに入れてもnew表示がアントゥプニダ。

    ㅠㅠ

    応答
    • こんにちは?

      funcitons.php ファイルはテーマフォルダの下にあります。 現在使用しているテーマのフォルダ(例:/wp-content/themes/テーマフォルダ名/)にあります。 現在使用しているテーマを確認し、ftpで見つけてください。

      応答
      • 回答ありがとうございます

        ./wp-content/themes/enfold テーマのfuncitons.phpに以下のように入れました。

        私はなぜアンドゥェルカヨ? ㅠㅠ

        listの部分には、

        このように入れました。

        スキンフォルダ内のcssも修正しました...何が間違っているのでしょうか....ㅠㅠ

      • もしエラーが発生しますか? たとえば、掲示板が開かない場合などの問題...

      • エラーは発生しません。 new表示のみ出ない。

        私が何か間違ったでしょ?ㅜㅜどうでしょう;;;

      • 次のccsコードをテーマフォルダの下のstyle.cssファイルに追加してみてください?

        .mycustom_new_label {
        display: inline!important;
        padding: .2em .6em .3em!important;
        font-size: 11px!important;
        line-height: 1!important;
        color: #ffffff!important;
        background-color: #d9534f!important;
        text-align: center!important;
        white-space: nowrap!important;
        vertical-align: baseline!important;
        border-radius: .25em!important;
        }

        そして関数とlist.phpファイルのコメント行()を一度削除してみますか?

    • 参考までに、上記の記事では、コード、関数、CSS 3つの部分に分けたんです、コードひとつにまとめることも可能です。 ただしその場合は、コードの部分があまりにも長くなって、わざわざ三つの部分に分けたものだけです。 少しのPHPおよびhtmlを知っていれば、コードを一つ合わせ使用もできます。 そしてNEW文字の代わりにしたいNEWアイコンに置き換えもできます。 (同様に少しのPHPとHtmlを知っていれば可能です。)

      応答
  7. よく適用して使用しました。 

    とても感謝します。 
    また、適用だけではコメントもアンダルミョン例がないでしょう〜 
    良い本当に感謝します〜
    応答
  8. エグゼクティブのコメントが多すぎて画面が汚れている見えますねㅠㅠ 

    必要のない部分は削除すると、良さそうです 
    私のテーマのfunctions.phpに以下のコードを入れて  
    function mycustom_new_label_bbp($now, $last_active) {
    $now = new DateTime($new);
    $last_active = new dateTime($last_active);
    $interval = $last_active->diff($now);
    $difference = $interval->format('%R%a days');
    if($difference < 3) {
    echo "<span class='mycustom_new_label'>";
    echo "New"; echo '</span>';
    }
    }
    スキンの下list.phpに、次のコードも入れて 
    <?php $now = date("Y-m-d");   
    $last_active = date("Y-m-d", strtotime($content->date));   
    mycustom_new_label_bbp($now, $last_active); ?>        
    style.cssに以下のコードも入れたが 
    .mycustom_new_label {
     display: inline;
     padding: .2em .6em .3em;
     font-size: 11px;
     line-height: 1;
     color: #ffffff;
     background-color: #d9534f;
     text-align: center;
     white-space: nowrap;
     vertical-align: baseline;
     border-radius: .25em;
     }
    なぜ動作をしないでしょうか? ㅠㅠㅠㅠ
    hotもしてみたもなりません。 
    アイコンを分散させてくれないと思います。
    応答
    • こんにちは? スキンのlist.phpファイルで次のコード部分は、二つあります。

      set('uid', $content->uid)->set('mod', 'document')->toString()?>">title?>

      おそらく一箇所(お知らせ部分)のみ、上記のコードを追加したでしょと思われる。

      Hotコードも同様です。 そしてHotコードは一日平均照会回数が一定数以上でなければなら表示されます。

      だから、楽しい週末を。

      応答
  9. フィリピン風プレス設定をキャプチャして、束添付したどこに消えたのか分かりませんㅠㅠあなたが必要とメールでもお送りでしょうか? 

    応答
    • 画像ファイルを両方三つ程度のテストで、ここに添付してみてください? おそらく容量制限可能性がありそうです。

      応答
      • こんにちは?
        今正常に動作します。 昨日 WordPressが更新され、修正されたソースファイルが初期化されていますね…もう一度アップロードすると正常にアップロードされます。

  10. フィリピン風プレスが可愛らしい機能(推奨、非推奨、ポイントなど)があります。 ところが、掲示板の権限の設定がまったくないです。 http://onebeat.kr/free/에서 一度見て見れば良さそうです。 私はいくつかの問題があってひょっとして見て答えをしていただければ本当にありがたいです。 メニュー文字がすべて大文字で表示され、クロムでチェックボックスにチェックがないんですよ〓〓 

    応答
    • こんにちは? 詳細情報ありがとうございます。 おそらくフィリピン風プレスが初期バージョンなので、まだ安定していないされたようです。 (KBoardも初期には問題が非常に多かったが、現在では多くの安定化されたようです。)私は時間になると見てみましょう。

      そしてメニューが大文字で表示されるのは、CSSを使用して、次のプロパティを追加してください:

      text-transform:capitalize;

      例えば、

      .site-logo a、 
      h1.page-title、
      h2#container_title、
      ul#menu-test a
       {
          text-transform:capitalize;
      }

      上記のCSSコードをスタイルシートファイルに追加してください。

      応答
      • コードがうまくモクヒミョンcaptialize;に!importantを追加してください。

            text-transform:capitalize!important;

  11. 高速親切な回答どうもありがとうございます!

    質問がありますが、

    newが可能と一定のヒット以上の場合hot表示することも可能でしょう?

    推薦機能を追加するには、kboard有料スキンを購入するのですか? いくつかのスキンを購入するといいのでしょう?

    応答
  12. 最初の良い情報ありがとうございます。 完全に役立つ多くのハングします。

    私超初心者なので、「CSSでNewラベルの形を飾ること」は、いずれかのファイルで必要があるか分かりません。 ㅠㅠ変更する必要がファイル名を教えていただければ無知と幸いです。

    そして質問したついでに 

    Kboardデフォルトのスキンでは、「推薦」機能がないようだが、 

    これを実装可能でしょうか?

    応答
    • こんにちは?

      最初のコードは、テーマ関数ファイル(functions.php)に追加する必要がよ、2番目のコードは、kboardのスキンフォルダ内に追加する必要があります。 そして第三のCSSスタイルシートファイルに追加する必要があります(https://www.thewordcracker.com/basic/how-to-add-css-in-wordpress/ 参照してください)。

      そして推薦機能は、本来ないことです。 推薦機能を追加するには、別のプラグインを敷い連動させればなります。 別困難な作業ではないようです。

      応答
割引ニュース
アストラテーマで最大40%割引!
期間限定
You This Coupon Code in Checkout
Click the code to Copy