Tag: wordpress

  • 關於 CitePress WordPress Plugin

    CitePress

    CitePress 是一個 WordPress plugin,用來從研究者的 ORCID record 建立格式一致的學術著作清單。

    Current version: 0.6.2
    Tested with: WordPress 7.1 / PHP 7.4+
    Author & Maintainer: Ying-Tsong Chen 陳盈璁 (with ChatGPT)
    License: GPLv2 or later


    Contents


    What CitePress Does

    CitePress uses ORCID to determine which works belong to a researcher, then uses DOI and other identifiers to obtain more consistent bibliographic metadata.

    Its basic philosophy is simple:

    Missing information is better than confidently displaying incorrect information.

    Starting with version 0.4.0, CitePress is fully standalone and does not require Researcher Profiles for ORCID or its CSS.


    How It Works

    ORCID
      ↓
    Works & identifiers
      ↓
     DOI ─────→ Crossref
                   ↓
           bibliographic metadata
                   ↓
              Europe PMC
           (fallback if needed)

    ORCID identifies the researcher and works. Crossref is the primary source for DOI-based bibliographic metadata. Europe PMC is used conservatively to fill missing fields or help resolve selected older records.

    For genuine non-DOI publications, CitePress can use metadata stored directly in ORCID and display an EID when available.


    Installation & Setup

    1. In WordPress, go to Plugins → Add Plugin → Upload Plugin.
    2. Upload the CitePress ZIP file and activate the plugin.
    3. Apply for ORCID Public API credentials through ORCID Developer Tools.
    4. Copy your Client ID and Client Secret.
    5. Go to Settings → CitePress and paste both values.
    6. Save the settings.

    The Client ID and Client Secret are not your ORCID password. CitePress uses them only to obtain /read-public access and read publicly visible ORCID records. It does not modify your ORCID record.


    Shortcodes

    Journal articles

    [citepress orcid="0000-0003-1337-4127" type="journal-article"]

    Preprints

    [citepress orcid="0000-0003-1337-4127" type="preprint"]

    Replace the example ORCID iD with the ORCID of the researcher whose publications you want to display.


    Supported Publications

    CitePress v0.4.2 has been tested with two ORCID work types:

    • journal-article
    • preprint

    For journal articles, CitePress can display:

    • title
    • authors
    • the researcher’s own name in bold
    • journal
    • publication year
    • volume
    • issue
    • pages or article number
    • DOI
    • EID fallback for genuine non-DOI records

    A typical citation looks like:

    Establishment and characterization of a Wolbachia (wAlbB)-infected Aedes aegypti line (Tw-Kao) for dengue control
    Hui-Ying Yu, Bo-Yu Chen, Ying-Tsong Chen, et al.
    PLOS Neglected Tropical Diseases 2026 20(5): e0014222
    DOI: 10.1371/journal.pntd.0014222

    Preprints are handled separately from journal articles. CitePress can identify supported preprint platforms such as bioRxiv, medRxiv, arXiv, ChemRxiv and Research Square.

    If the platform cannot be determined reliably, CitePress leaves it blank rather than guessing.


    Data Refresh & Cache

    CitePress does not run scheduled background synchronization or create a WordPress Cron job.

    Starting with v0.5.0, CitePress provides two refresh modes:

    Automatic — Lazy Refresh

    This is the default mode.

    CitePress caches publication metadata and refreshes expired data only when the publication page is requested.

    Page requested
          ↓
    Check cache
       ↙       ↘
     valid    expired
       ↓         ↓
     use it   fetch fresh data
                 ↓
            rebuild cache

    Different metadata have different cache lifetimes. ORCID works are normally cached for about one day, researcher/work details for up to seven days, while stable DOI metadata may be cached much longer.

    Nothing is synchronized in the background.

    Manual — Update Only When You Decide

    In Manual mode, successfully retrieved publication metadata does not expire automatically.

    The publication list remains unchanged until you explicitly request an update.

    This mode is useful when you prefer to keep a stable public publication list and update it only after you have reviewed or modified your ORCID record.

    Failed API lookups are still cached only temporarily, so a temporary network or external-service failure will not become permanent.

    Manual Update & Rollback

    Manual mode includes a simple one-level rollback system.

    When you click Prepare Manual Update, CitePress first saves the current publication metadata as the Previous Version, and then clears the active cache.

    Current publication data
              ↓
     Prepare Manual Update
              ↓
    Save as Previous Version
              ↓
    Clear active cache
              ↓
    Next publication-page request
              ↓
    Retrieve fresh metadata
              ↓
    New current publication data

    The actual update occurs the next time the publication page is requested.

    If the refreshed publication list is incomplete or otherwise unsatisfactory, go back to:

    Settings → CitePress

    and click:

    Restore Previous Version

    CitePress will restore the publication metadata saved immediately before the update.

    Only one previous version is retained. Each new manual update replaces the previous rollback snapshot.


    Notes & Limitations

    • CitePress depends on the quality of metadata available from ORCID, Crossref and Europe PMC.
    • If an older ORCID record has a DOI but the DOI is missing from ORCID, adding it directly to your ORCID record is usually the best solution.
    • Title-based DOI recovery is deliberately conservative; ambiguous matches are rejected.
    • Genuine non-DOI publications can fall back to ORCID contributors and EID where available.
    • Other ORCID work types may work, but only journal-article and preprint are currently tested and supported.
    • CitePress includes its own CSS and does not require another ORCID plugin for formatting.
    • Manual rollback retains only one Previous Version. It is intended as a simple safety net for publication updates, not as a full version-control or backup system.

    Why I Made CitePress

    CitePress 一開始其實不是什麼開發計畫。

    我只是懶得再手動維護自己的 publication list,所以找了一個 WordPress plugin,讓它從 ORCID 自動抓著作。用了之後,卻陸續發現一些自己想改的地方:我希望顯示作者、自己的名字要粗體、期刊資料要完整、preprint 要正確處理,遇到老文章缺 DOI 時也應該有合理的辦法。

    一開始只是請 ChatGPT 幫我修改原來的 plugin;改著改著,我突然想到:既然 ORCID 可以告訴我有哪些作品,DOI 又可以從 Crossref 取得書目資料,那何不乾脆按照自己想要的邏輯,重新做一個?

    於是就有了 CitePress

    有趣的是,整個過程中我幾乎沒有寫一行 PHP。我做的事情,是不斷告訴 ChatGPT 「我想要什麼」:資料應該從哪裡來、什麼結果才合理、遇到例外怎麼處理,以及哪些事情寧可不知道,也不要亂猜。

    這讓我愈來愈覺得,AI 時代的「寫程式」正在變成一件不太一樣的事情。

    你不一定要先學會 PHP,才能做一個 WordPress plugin;但你仍然必須知道自己想解決什麼問題,也必須有能力判斷做出來的東西到底對不對。

    以前,我們得先學會電腦的語言,才能把想法告訴電腦。
    現在,開始可以直接把想法講清楚了。

    程式語言並沒有消失,只是慢慢退到了使用者看不見的地方。


    CitePress 0.6.2
    Ying-Tsong Chen 陳盈璁 (with ChatGPT)
    Licensed under the GNU General Public License v2 or later (GPLv2+).


  • 繞過WordPress後台把plugin關掉

    繞過WordPress後台把plugin關掉

    WordPress是個蠻普遍的自由開源部落格軟體和內容管理系統,本網站也是用這個裝的。他有蠻便利的後台管理介面,透過這樣的介面,使用者除了可以寫作、編排內容、安裝修改佈景主題,還可以安裝各種外掛程式(plugins)來擴充網站的功能。

    (more…)
  • 讓mySQL提供服務給外部使用

    讓mySQL提供服務給外部使用

    通常大家用電腦裝Apache-PHP-mySQL架設像是Wordpress之類的網站來玩的時候,你裝的mySQL server都是僅提供服務給位在同一台主機上的網站。這時候任何從外面來的mySQL服務請求,預設都是會被拒絕的。但是,如果你是要讓你的mySQL提供服務給其他主機使用,要怎麼修改設定呢?以下是簡單的做法:

    (more…)
  • Apache24+php80+WordPress

    Apache24+php80+WordPress

    Apache是一個開放原始碼的網頁伺服器軟體,我們在FreeBSD底下可以用port來安裝apache24:

    (more…)
  • mySQL安裝與設定

    mySQL安裝與設定

    MySQL 是一個快速、多執行緒、多用戶、強大的SQL(結構化查詢語言)資料庫伺服器。因為我們網站是用wordpress架的,wordpress是個基於PHP與MySQL的開源部落格軟體內容管理系統。要跑Wordpress,我們得提供它一個可以用的MySQL資料庫才行。而我們是這樣用ports在FreeBSD系統底下安裝與設定mySQL的,很簡單:

    (more…)