KCite Plugin

The KCite plugin provides a means for referencing scholarly works in WordPress posts. The author includes a unique identifier for a publication in their post, and the plugin queries a web service to retrieve metadata about that publication. This metadata is then used to build a bibliography at the foot of the post, with in-place citations in the text referring to it.

The [cite] shortcode is interpreted to produce citations from the appropriate sources, also produces a formatted bibliography at the foot of the post, with appropriate links to articles.

The plugin uses the CrossRef API to retrieve metadata for Digital Object Identifiers (DOIs) and NCBI eUtils to retrieve metadata for PubMed Identifiers (PMIDs).


DOI Example – [cite source=’doi’]10.1021/jf904082b[/cite]

PMID example – [cite source=’pubmed’]17237047[/cite]

Whichever ‘source’ is identified as the default (see Installation), will work without the source attribute being set in the shortcode. so:


Will be interpreted correctly as long as DOI is set as the default metadata source.


(Paragraph taken from (20375448)).

There is recognition in the pharmaceutical industry that the current paradigm of research and development needs to change. Drugs based on novel chemistry still take 10-15 years to reach the market, and development costs are usually between $500 million and $2 billion (10.1016/S0167-6296(02)00126-1) (10.1377/hlthaff.25.2.420). Most novel drug candidates fail in or before the clinic, and the costs of these failures must be borne for the companies concerned by those drug candidates that do reach the market. These costs make it difficult even for large pharmaceutical companies to bring truly new drugs to market, and are completely prohibitive for publicly-funded researchers. An alternative means of discovering new treatments is to find new uses for existing drugs or for drug candidates for which there is substantial safety data. This repositioning approach bypasses the need for many of the pre-approval tests required of completely new therapeutic compounds, since the agent has already been documented as safe for its original purpose (10.1038/nrd1468).



  1. Fuzzier Logic » Blog Archive » KCite – easy citations in Wordpress

    January 18, 2011 @ 10:22 pm

    […] using Google Docs, we shouldn’t put unnecessary obstacles in their path, and so on. So the tool that we have produced, called KCite, uses simple text-based tags to process citations. These tags […]

  2. Fuzzier Logic » Blog Archive » The Problem with DOIs

    February 8, 2011 @ 4:41 pm

    […] also created a referencing system for WordPress. This does DOI lookups for the user, currently using CrossRef, or PubMed. We […]

  3. Michael Bell » Blog and Website Updates

    February 28, 2011 @ 4:40 pm

    […] also updating, I installed some new plug-ins, one of which is KCite (See KnowledgeBlog for more info). It allows me to cite papers in my blog, simply by stating their DOI in between cite […]

  4. Fuzzier Logic » Blog Archive » Automatic citation processing with Zotero and KCite

    April 13, 2011 @ 9:47 am

    […] can download it from the Knowledgeblog Google Code site) that formats a citation in such a way that KCite, Knowledgeblog’s citation engine, can understand it. Now, when I insert citations into my […]

  5. danny

    April 18, 2011 @ 11:34 pm

    I’m using WordPress 3.1.1 and Kcite 1.3. When I first added the citations to my first blog post, the pubmed references worked but the DOI references were only able to link to the journal articles and not access the metadata (presumably because I hadn’t entered a email adress that was regestered with CrossRef).

    I added my email address (which IS registered with CrossRef), but now Kcite doesn’t work at all. When I bring up my blog, I get the following error message at the top of the entry:

    Warning: Invalid argument supplied for foreach() in /home/unchemyst/unchemyst.org/wp-content/plugins/kcite/kcite.php on line 181

    Also, I can’t undo my addition of a registered email address.


  6. admin

    April 19, 2011 @ 2:09 pm

    I’m sorry it’s not working for you. From looking at the error message, I would say, that kcite is having trouble retrieving the metadata for the articles, and so can’t generate the bibliography. The crash is a little unfortunate under these circumstances. With kcite, we’re following a fast “release early and often” approach; generally this is good, but bugs are somewhat inevitable.

    I’d love to give more specific advice, but it’s very hard to debug at a distance. Would you be able to send an email to knowledgeblog-discuss@knowledgeblog.org with a bit more information. Particularly useful would be a URL to the broken blog (if it’s accessible and you haven’t taken the post down). Also, the full contents of the post (everything from the edit dialog of wordpress). It’s possible that this problem is being triggered by a specific DOI or PMID.

    There should be a new release of kcite within the next week, with additional functionality. I’m hoping we can move toward a plugin which is stable enough for general use as soon as possible.

    Thanks for the feedback.


  7. WordPress | Digital Monograph Technical Landscape study #jiscPUB

    May 10, 2011 @ 8:42 am

    […] are similar issues/risks with stuff like WordPress shortcodes such as KCite from KnowledgeBlogs. It’s a great tool for authors, allowing them to cite things in a […]

  8. WordPress [and the jiscPUB project] | ptsefton

    May 11, 2011 @ 12:22 am

    […] […]

  9. The Ontogenesis Knowledgeblog: Lightweight Semantic Publishing | Knowledge Blog

    June 7, 2011 @ 2:21 pm

    […] http://knowledgeblog.org/kcite-plugin […]

  10. An Exercise in Irrelevance » Blog Archive » Discovering the Registration Agency

    May 7, 2012 @ 12:47 pm

    […] of this demonstrates an advantage of our Kcite tool (http://knowledgeblog.org/kcite-plugin). By actually using primary identifers as part of the authoring process, I have discovered five […]

  11. An Exercise in Irrelevance » Blog Archive » The Problem with DOIs

    May 7, 2012 @ 12:49 pm

    […] also created a referencing system for WordPress. This does DOI lookups for the user, currently using CrossRef, or PubMed. We […]

  12. An Exercise in Irrelevance » Blog Archive » DOIs and Content Negotiation

    May 7, 2012 @ 12:49 pm

    […] as being an issue of general concern, it is also a specific problem for the development of Kcite (http://knowledgeblog.org/kcite-plugin). This wordpress plugin generates reference lists from identifiers, including DOIs; it is active on […]

  13. An Exercise in Irrelevance » Blog Archive » A problem DOI

    May 7, 2012 @ 12:51 pm

    […] The article discussed the difficulties with implementing content negotiation for kcite (http://knowledgeblog.org/kcite-plugin); in particular, getting metadata for a given DOI and understanding that metadata once it had been […]

  14. An Exercise in Irrelevance » Blog Archive » Kcite, Greycite and Kblog-metadata

    June 9, 2012 @ 7:50 pm

    […] and kblog-metadata — and have extended kcite, our citation engine (http://knowledgeblog.org/kcite-plugin). I will just give a brief overview here of the functionality here. Subsequent articles will […]

  15. An Exercise in Irrelevance » Blog Archive » Ontogenesis Knowledgeblog: Lightweight Semantic Publishing

    June 9, 2012 @ 7:51 pm

    […] http://knowledgeblog.org/kcite-plugin […]

  16. An Exercise in Irrelevance » Blog Archive » Simple HTML

    August 8, 2012 @ 11:16 am

    […] use. However, in another way I can appreciate the problem. Take, for example, my own Kcite plugin (http://knowledgeblog.org/kcite-plugin); in the last year, I have added support for multiple reference formats. But, I have done this in […]

  17. The blog post as a scientific article: citation management « Henry Rzepa

    August 15, 2012 @ 8:39 pm

    […] Citation management and meta-data gathering. This blog plugin takes the form of a numbered citation[1] as here, and which converts the specified DOI to a listing at the bottom of the post in the manner of a conventional scientific article (conventional document citation managers such as EndNote do this as well). It is actually much more than that, since the plugin automatically uses the CrossRef API to retrieve metadata for the quoted Digital Object Identifier (DOI), thus enhancing the metadata associated with the post and its discoverability. Dublin-Core is already present in the post as well as FOAF output, and I occasionally trawl using the Calais archive tagger (although this is not very good at finding chemistry tags). […]

  18. Citing URLs with Kcite | The Knowledgeblog Process

    August 21, 2012 @ 9:04 am

    […] Kcite plugin (http://knowledgeblog.org/kcite-plugin) generates bibliographies in kblog articles from a variety of different article identifiers, […]

  19. Changing the Container Title | The Knowledgeblog Process

    August 23, 2012 @ 10:47 am

    […] originally published as part of the SePublica workshop. References to this blog post using Kcite (http://knowledgeblog.org/kcite-plugin), or using the BibTeX download (http://process.knowledgeblog.org/235) will display this fact. This […]

  20. What is Greycite | The Knowledgeblog Process

    September 7, 2012 @ 11:26 am

    […] this metadata, and then makes it available for either computational use by tools such as Kcite (http://knowledgeblog.org/kcite-plugin), or for viewing directly from the web; for example, consider the Greycite page for the previous […]

  21. An Exercise in Irrelevance » Blog Archive » Why academic publishing is like a coffee shop

    October 23, 2012 @ 9:32 am

    […] It is still not ideal; in my case, I maintain my own server which comes with a high (time) cost particularly when things go wrong (http://www.russet.org.uk/blog/1939), and it would be nice to be rid of this hassle. But I value the ability to add to the environment, with tools like Kcite (http://knowledgeblog.org/kcite-plugin). […]

  22. Gavin

    January 9, 2013 @ 2:10 pm

    Hi, I use the kcite plugin in wordpress, and I love the functionality.
    But a key part of this was that the references would give a proper
    link to the paper via the doi. Recently I have noticed that this has
    stopped working – in the html the part of the reference that would
    show this is null ie.

    instead of the dx.doi.org link and doi anchor.

    In the kcite code, this should be filled in using $pub[“URL”] which is
    obviously null. I tried rewriting this manually using $pub[“DOI”] but
    that is null too.

    I am using kcite v1.6.1 (with a couple of custom modifications to
    allow for user defined in-text references), with DOI as the default
    method and citeproc=FALSE.

    Any idea why this behaviour has changed? And how can I restore it?
    (since obviously I already know the doi and hence the doi link).


  23. admin

    January 29, 2013 @ 10:59 am

    This was due to a change in the downstream provider of metadata. It’s now been fixed!

Leave a comment