The SheetDB wordpress plugin allows you to easily add content from Google Spreadsheet to your wordpress site. To add content, simply add shortcode that looks like this – [sheetdb url="https://sheetdb.io/api/v1/YOUR_API_ID"][/sheetdb]
. Content from within will be rendered as many times as there are rows in the spreadsheet (excluding the first row, which are column names – definition). Each time a new row is rendered, you can refer to any value using the braces notation: {{column_name}}
Example spreadsheet: Example spreadsheet document
Example code:
[sheetdb url="https://sheetdb.io/api/v1/58f61be4dda40" element="ul" limit=3 search="id=*" sort-by="id" sort-order="desc" lazy-loading="true"]
{{id}} – {{name}}
[/sheetdb]
You can use following optional attributes:
* limit – The number of rows that should be returned
* offset – Row from which it should start (how many rows to skip)
* sheet – If you want to use a different sheet than the first one (default), enter the name of the tab you want to use here.
* search – You can search for specific data in your sheet. If you want to use more than one condition join them using & symbol. Example: search="name=Tom&age=15"
* sort-by – The column you want to sort by
* sort-order – sort in asc
or desc
order
* lazy-loading – If you set this attribute to true, the api call will be executed only when the user reaches the point of the table. If your table is lower on the page this can help reduce request consumption.
Additional information:
This plugin use SheetDB.io to fetch data from Google Spreadsheet. You must have an account at SheetDB – account is free for 500 requests per month. More information at SheetDB.io or at privacy policy
If you want to re-use your data, you can use the save
attribute in your [sheetdb] element. To re-use your data use [sheetdb-slot]. You can use the same data inside as in the parent. To match them the value of save and slot must be the same.
Example:
[sheetdb url="https://sheetdb.io/api/v1/58f61be4dda40" save="slot-name"]
{{id}} – {{name}}
[/sheetdb]
[sheetdb-slot slot="slot-name"]
{{name}}
[/sheetdb-slot]
That way, you only use 1 request instead of 2. Slots have access to the same data as the parent. You can’t change things like limit or search.