WP Manifestindependent plugin directory
manifest / content / wp_lab_achievement

Lab Achievements Manager

Wordpress用の業績管理プラグイン

★ 0stars
v1.0.0latest · 8mo ago

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/dbym4820/wp_lab_achievement/archive/refs/heads/main.zip
Updates itself. It ships its own updater, so new versions appear under Dashboard → Updates.

研究室の業績(論文・発表)をカスタムDBテーブルで管理し,年度・種別フィルタ付きで表示する WordPress プラグイン.

機能一覧

管理画面

機能 説明
業績一覧 登録済み業績の一覧表示.年度・種別でフィルタ,キーワード検索,一括削除が可能
新規追加 / 編集 著者・タイトル・誌名・巻号・DOI 等の書誌情報を入力して業績を登録・更新
CSV インポート CSV ファイルから業績を一括登録(1行目はヘッダー)
CSV エクスポート 全業績を CSV ファイルとしてダウンロード(UTF-8 BOM 付き,Excel 対応)

フロントエンド(ショートコード)

ショートコード 説明
[lab_achievements] 年度別・種別別にグループ化した業績一覧を表示
[lab_awards] 受賞業績のみを一覧表示

[lab_achievements] の属性

属性 デフォルト 説明
year (空) 特定年度のみ表示(例: year="2025")
type (空) 特定の業績種別のみ表示(例: type="journal")
show_filter true フィルタ UI の表示/非表示("true" / "false")

[lab_awards] の属性

属性 デフォルト 説明
year (空) 特定年度のみ表示
type (空) 特定の業績種別のみ表示

フロントエンドのインタラクティブ機能

  • 年度フィルタ: プルダウンで年度を選択して絞り込み
  • 種別フィルタ: プルダウンで業績種別を選択して絞り込み
  • 受賞のみ表示: チェックボックスで受賞業績だけに絞り込み
  • 年度区切りなし表示: チェックボックスで種別のみのフラットなグループ表示に切替
  • 年度ページ内リンク: 年度ナビゲーションバーから各年度セクションへジャンプ
  • 折りたたみ: 各年度セクションは <details> タグで開閉可能

業績種別とキー

lam_achievement_types() 関数で定義される.配列の順序がそのまま表示順序になる.

キー 日本語ラベル 表示順
journal 学術論文 1
letter レター論文 2
review 解説論文 3
book 書籍 4
international 国際会議 5
sig 研究会 6
others 全国大会・その他 7
misc 寄稿 8

カスタマイズ

業績種別の追加・変更

lam_achievement_types() 関数(lab-achievements-manager.php 冒頭)の配列を編集する.

function lam_achievement_types() {
    return array(
        'journal'       => '学術論文',
        'letter'        => 'レター論文',
        'review'        => '解説論文',
        'book'          => '書籍',
        'international' => '国際会議',
        'sig'           => '研究会',
        'others'        => '全国大会・その他',
        'misc'          => '寄稿',
    );
}
  • 種別を追加: 配列に '新キー' => '表示ラベル' を追加
  • 表示ラベルを変更: 値(日本語部分)を書き換える
  • 種別を削除: 対応する行を削除(既存データの achievement_type が残るため注意)

表示順序の変更

表示順序は 2箇所 を揃えて変更する必要がある.

1. lam_achievement_types() の配列順

この配列の定義順がフィルタ UI のプルダウン順序,およびグループ表示時のセクション順序に反映される.

2. SQL の FIELD() 句

ショートコード内の SQL クエリにある FIELD(achievement_type, ...) の引数順を,lam_achievement_types() と同じ順序に揃える. 該当箇所はファイル内に 2箇所ある.

  • [lab_achievements] 用: lam_shortcode() 関数内
  • [lab_awards] 用: lam_awards_shortcode() 関数内
ORDER BY fiscal_year DESC,
         FIELD(achievement_type,'journal','letter','review','book','international','sig','others','misc'),
         pub_month ASC, sort_order DESC

FIELD() の引数順を変えると,データベースからの取得順が変わる.

各業績のソート順(sort_order フィールド)

同一年度・同一種別内での細かい並び替えには sort_order フィールドを使う.管理画面の「表示順」で設定する.[lab_achievements] では sort_order DESC(大きい値が上),[lab_awards] では sort_order ASC(小さい値が上)で並ぶ.

年度の計算ルール

出版月が 1〜3月の場合,年度は 出版年 - 1 として自動計算される(4月始まりの日本の年度制度に準拠).管理画面で年度を手動入力した場合はそちらが優先される.

スタイルのカスタマイズ

CSS はプラグイン内の lam_enqueue_frontend() 関数でインラインスタイルとして出力される.主要な CSS クラス:

クラス 対象
.lab-achievements-container 全体のコンテナ
.lab-achievements-filters フィルタ UI 領域
.lab-achievements-year-nav 年度ナビゲーションバー
.lab-achievements-year-heading 年度見出し(グラデーション背景)
.lab-achievements-type-heading 業績種別見出し(左ボーダー)
.lab-achievements-list 業績リスト(<ol>)
.lab-achievement-item 個別業績(<li>)
.lab-ach-award 受賞バッジ
.lab-ach-doi / .lab-ach-link DOI / URL リンク

データベース

プラグイン有効化時にカスタムテーブル {prefix}_lab_achievements が作成される.

カラム 型 説明
id bigint(20) 主キー(AUTO_INCREMENT)
achievement_type varchar(50) 業績種別キー
authors text 著者(カンマ区切り)
title text タイトル
venue text 発表場所
journal_name varchar(500) 誌名 / 会議名
volume varchar(50) 巻
number varchar(50) 号
pages varchar(50) ページ
pub_year smallint(4) 出版年
pub_month tinyint(2) 出版月
fiscal_year smallint(4) 年度
is_awarded tinyint(1) 受賞フラグ(0/1)
award_name varchar(500) 受賞名
awardee varchar(500) 受賞者(著者と異なる場合)
doi varchar(255) DOI
url varchar(500) URL
notes text 備考
sort_order int(11) 表示順(同一種別内)
created_at datetime 作成日時
updated_at datetime 更新日時

CSV フォーマット

インポート時の CSV 列順(ヘッダー行必須):

achievement_type, authors, title, venue, journal_name, volume, number, pages,
pub_year, pub_month, fiscal_year, is_awarded, award_name, awardee, doi, url, notes, sort_order
  • achievement_type は英語キー(journal, book 等)でも日本語ラベル(学術論文, 書籍 等)でも可
  • fiscal_year が空の場合,pub_year と pub_month から自動計算される
  • エクスポート CSV には id 列が含まれるが,インポート時は無視される

自動アップデート

GitHub Releases を利用した自動アップデートに対応している.WordPress 管理画面の「更新」やプラグイン一覧から,通常のプラグインと同様にワンクリックで更新できる.

仕組み

  • GitHub API (/repos/dbym4820/wp_lab_achievement/releases/latest) で最新リリースを12時間ごとにチェック
  • リリースタグのバージョンがインストール済みバージョンより新しい場合,WordPress に更新通知が表示される
  • アップデーターは管理画面でのみ読み込まれる(フロントエンドには影響なし)

新バージョンのリリース手順

  1. lab-achievements-manager.php の 2箇所 のバージョンを更新する
    • LAM_VERSION 定数(例: '1.1.0')
    • プラグインヘッダーの Version: 行(例: Version: 1.1.0)
  2. 変更をコミット & プッシュ
  3. GitHub で Release を作成し,タグを付ける(例: v1.1.0)
    • タグは v + セマンティックバージョニング形式(v1.0.0, v1.1.0, v2.0.0 等)
    • Release の本文に変更内容を記載すると,WordPress の「詳細を表示」に changelog として表示される
  4. WordPress 管理画面 > 更新 で自動検知される

設定の変更

GitHub リポジトリの情報は lab-achievements-manager.php 冒頭の定数で管理される:

define( 'LAM_GITHUB_OWNER', 'dbym4820' );        // GitHub オーナー名
define( 'LAM_GITHUB_REPO',  'wp_lab_achievement' ); // GitHub リポジトリ名

リポジトリを移行した場合はこれらを変更する.

動作要件

  • WordPress 5.0 以上
  • PHP 7.0 以上

ライセンス

GPL-2.0+

Releases

1 release.

Tag
Published
v1.0.0 latest
Feb 18, 2026 8mo ago

These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.