[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f7JzNLw925GOAYTjx4_pvHV_SEz1-MaEeYdB_BMXGjZc":3},{"slug":4,"display_name":4,"profile_url":5,"plugin_count":6,"total_installs":7,"avg_security_score":8,"avg_patch_time_days":9,"trust_score":10,"computed_at":11,"plugins":12},"meglio","https:\u002F\u002Fprofiles.wordpress.org\u002Fmeglio\u002F",2,20,85,30,84,"2026-04-05T09:21:21.915Z",[13,36],{"slug":14,"name":15,"version":16,"author":4,"author_profile":5,"description":17,"short_description":18,"active_installs":19,"downloaded":20,"rating":21,"num_ratings":21,"last_updated":22,"tested_up_to":23,"requires_at_least":24,"requires_php":25,"tags":26,"homepage":32,"download_link":33,"security_score":8,"vuln_count":21,"unpatched_count":21,"last_vuln_date":34,"fetched_at":35},"twig-anything-api-endpoints","API Endpoints","1.1","\u003Cp>Choose which of your site’s data to make available via WordPress API\u003Cbr \u002F>\nand in which format.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Customize API URLs: \u003Ccode>http:\u002F\u002Fmywordpress.com\u002Fmy-api\u002Fname1\u003C\u002Fcode> – change \u003Cstrong>my-api\u003C\u002Fstrong> and \u003Cstrong>name1\u003C\u002Fstrong> in the plugin settings\u003C\u002Fli>\n\u003Cli>Set minimal capability permission individually for every API endpoint\u003C\u002Fli>\n\u003Cli>Customize HTTP headers\u003C\u002Fli>\n\u003Cli>Use any data from your sites’s MySQL database: posts\u002Fpages, custom posts, comments, settings, users, site options, post metadata, users, drafts, activity and much more\u003C\u002Fli>\n\u003Cli>Turn any local file into an API (CSV, JSON, XML, you name it)\u003C\u002Fli>\n\u003Cli>Fetch any data from 3rd party APIs and turn into your own API\u003C\u002Fli>\n\u003Cli>Boost API speed with the caching system out of the box\u003C\u002Fli>\n\u003Cli>Output API in any format, including, but not limited to, JSON, XML, RSS\u002FATOM, YAML and HTML.\u003C\u002Fli>\n\u003Cli>Get full control over the API output by using a simple template language.\u003C\u002Fli>\n\u003Cli>Two dedicated templates: 1) for successful API calls and 2) for API failures (e.g. authentication error)\u003C\u002Fli>\n\u003Cli>Intelligent template editor with code highlighting and full screen mode\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This is a free add-on to the\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Ftwiganything.com\u002F\" title=\"Twig Anything\" rel=\"nofollow ugc\">Twig Anything\u003C\u002Fa> WordPress plugin.\u003C\u002Fp>\n","Add WordPress API endpoints and access your site's data in JSON, XML, RSS\u002FATOM, YAML or HTML.",10,4268,0,"2015-08-14T10:17:00.000Z","4.2.39","3.6.1","",[27,28,29,30,31],"api","api-client","integration","rest","restful","http:\u002F\u002Ftwiganything.com\u002Fwordpress-api-endpoints","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftwig-anything-api-endpoints.zip",null,"2026-03-15T15:16:48.613Z",{"slug":37,"name":38,"version":16,"author":4,"author_profile":5,"description":39,"short_description":40,"active_installs":19,"downloaded":41,"rating":21,"num_ratings":21,"last_updated":42,"tested_up_to":23,"requires_at_least":24,"requires_php":25,"tags":43,"homepage":49,"download_link":50,"security_score":8,"vuln_count":21,"unpatched_count":21,"last_vuln_date":34,"fetched_at":35},"twig-anything-csv","CSV Format","\u003Cp>Read CSV data from local files, WordPres media files, local or remote databases or 3rd party API, and output it anywhere in WordPress with using shortcodes, in posts\u002Fpages, headers\u002Ffooters, widgets or in Visual Composer.\u003C\u002Fp>\n\u003Cp>You can configure how CSV is parsed by specifying delimiter character, enclosure character and escape character.\u003C\u002Fp>\n\u003Cp>\u003Cem>This is a free add-on that adds CSV support (comma-separated values) to the\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Ftwiganything.com\u002F\" title=\"Twig Anything\" rel=\"nofollow ugc\">Twig Anything\u003C\u002Fa> WordPress plugin.\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Tutorials below demonstrate 3 examples:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Example 1: generate text, one line for each line from CSV\u003C\u002Fli>\n\u003Cli>Example 2: generate a table\u003C\u002Fli>\n\u003Cli>Example 3: use shortcodes to output CSV anywhere in WordPress\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>EXAMPLE 1: MULTILINE TEXT\u003C\u002Fh4>\n\u003Cp>Let us use a CSV file with a list of countries and their corresponding top-level domain names (TLD). Here is an extract from the file:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Belgium,Brussels,EUR,Euro,BE,.be\nBelize,Belmopan,BZD,Dollar,BZ,.bz\nBenin,Porto-Novo,XOF,Franc,BJ,.bj\nBhutan,Thimphu,BTN,Ngultrum,BT,.bt\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>In our example, let’s display TLDs for all countries that start with “D”:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Denmark - .dk\nDjibouti - .dj\nDominica - .dm\nDominican Republic - .do\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Columns are numbered starting from #0, so we will need the column #0 (country name) and #5 (top-level domain name).\u003C\u002Fp>\n\u003Cp>After the CSV input has been parsed, the resulting lines are passed to your Twig Template as the \u003Cstrong>data\u003C\u002Fstrong> variable. You can then loop over it with using \u003Ca href=\"http:\u002F\u002Ftwig.sensiolabs.org\u002Fdoc\u002Ftags\u002Ffor.html\" rel=\"nofollow ugc\">“for” syntax:\u003C\u002Fa>:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>{% for row in data if row.0|slice(0,1)|upper == 'D' %}\n  {{ row.0 }} - \u003Cstrong>{{row.5}}\u003C\u002Fstrong>\u003Cbr\u002F>\n{% endfor %}\n\n{% for row in data %}...{% endfor %} is the loop. The code inside the loop will be rendered once for every line from the CSV file.\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Let us take a closer look at this piece: \u003Ccode>if row.0|slice(0,1)|upper == 'D'\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>First of all, \u003Ccode>row.0\u003C\u002Fcode> is how we access column #0, a country name in our case. Next, \u003Ccode>|slice(0,1)\u003C\u002Fcode> is a Twig filter that takes the first character of the country name. The next filter is \u003Ccode>|upper\u003C\u002Fcode> and it simply uppercases the first letter returned by the previous filter. Finally, we only allow for countries that start with the “D” letter: \u003Ccode>== 'D'\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Inside the loop, we output a country name with using \u003Ccode>{{row.0}}\u003C\u002Fcode> and a TLD name with using \u003Ccode>{{row.5}}\u003C\u002Fcode>. Plus a very basic HTML markup: \u003Ccode>\u003Cbr\u002F>\u003C\u002Fcode> to insert a line break and \u003Ccode>\u003Cstrong>...\u003C\u002Fstrong>\u003C\u002Fcode> to make TLD name appear bold.\u003C\u002Fp>\n\u003Ch4>EXAMPLE 2: TABLE\u003C\u002Fh4>\n\u003Cp>Using the same CSV file, let’s now output our data in a table with using HTML markup.\u003C\u002Fp>\n\u003Cp>If you are not very familiar with HTML, I recommend going through the following tutorials – you’ll learn in 10 minutes, I guarantee!\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fcomputerservices.temple.edu\u002Fcreating-tables-html\" rel=\"nofollow ugc\">Tutorial 1\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fcss-tricks.com\u002Fcomplete-guide-table-element\u002F\" rel=\"nofollow ugc\">Tutorial 2\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can also use the following table generators and just copy-paste the HTML they generate right into your template. The generators also allow to apply some basic styling, like borders, colors, margins, paddings etc.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwww.rapidtables.com\u002Fweb\u002Ftools\u002Fhtml-table-generator.htm\" rel=\"nofollow ugc\">Generator 1\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwww.textfixer.com\u002Fhtml\u002Fhtml-table-generator.php\" rel=\"nofollow ugc\">Generator 2\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>So, we will use the following HTML tags:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>\u003Ctable>...\u003C\u002Ftable>\u003C\u002Fcode> to make a table\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u003Cthead>...\u003C\u002Fthead>\u003C\u002Fcode> to make a table header with column headings\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u003Ctbody>...\u003C\u002Ftbody>\u003C\u002Fcode> to make a table body with all the rows from CSV\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u003Ctr>...\u003C\u002Ftr>\u003C\u002Fcode> to make a table row\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u003Cth>...\u003C\u002Fth>\u003C\u002Fcode> to make a cell in the header’s row\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u003Ctd>...\u003C\u002Ftd>\u003C\u002Fcode> to make a cell in a regular rows in the table’s body\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Here is our template:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Ctable>\n  \u003Cthead>\n    \u003Ctr>\n      \u003Cth>Country\u003C\u002Fth>\n      \u003Cth>TLD\u003C\u002Fth>\n    \u003C\u002Ftr>\n  \u003C\u002Fthead>\n  \u003Ctbody>\n  {% for row in data if row.0|slice(0,1)|upper == 'D' %}\n  \u003Ctr>\n    \u003Ctd>{{ row.0 }}\u003C\u002Ftd>\n    \u003Ctd>{{ row.5 }}\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  {% endfor %}\n  \u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Notice how we use the \u003Ccode>{% for row in data %}\u003C\u002Fcode> syntax to loop over CSV lines,\u003Cbr \u002F>\nand then output a table row \u003Ccode>\u003Ctr>...\u003C\u002Ftr>\u003C\u002Fcode> inside the loop, so that\u003Cbr \u002F>\na new row is made for every CSV line.\u003C\u002Fp>\n\u003Cp>Actually, you can use just any HTML and stylize your table the way you need.\u003Cbr \u002F>\nJust don’t forget to put \u003Ccode>{{row.0}}\u003C\u002Fcode>, \u003Ccode>{{row.1}}\u003C\u002Fcode> etc where you want\u003Cbr \u002F>\nyour csv values in the cells \u003Ccode>\u003Ctd>...\u003C\u002Ftd>\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch4>EXAMPLE 3: SHORTCODES\u003C\u002Fh4>\n\u003Cp>While you prepare your template, you usually preview it many times by clicking\u003Cbr \u002F>\nthe “Preview Changes” button. Once you are happy with the preview, you will\u003Cbr \u002F>\nwant to embed it somewhere – in a post or a page, footer \u002F header,\u003Cbr \u002F>\nin a widget or as a Visual Composer block.\u003C\u002Fp>\n\u003Cp>To embed your template, you will use a shortcode:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[twig-anything slug=\"my-template-slug\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>In WordPress, every Twig Template has its own slug, just like posts and pages.\u003Cbr \u002F>\nIt can be found under the template title.\u003C\u002Fp>\n\u003Cp>Alternatively, you can use the template ID:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[twig-anything id=\"123\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Read CSV data from local files, WordPres media files, local or remote databases or 3rd party API, and output it anywhere in WordPress with using short &hellip;",2023,"2015-08-14T11:37:00.000Z",[44,45,46,47,48],"comma-separated-values","comma-separated","csv","csv-api","excel","https:\u002F\u002Ftwiganything.com\u002Fcsv-format","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftwig-anything-csv.zip"]