{"id":55752,"date":"2022-09-06T03:01:25","date_gmt":"2022-09-05T17:01:25","guid":{"rendered":"http:\/\/www.rjmprogramming.com.au\/ITblog\/?p=55752"},"modified":"2022-09-06T07:29:17","modified_gmt":"2022-09-05T21:29:17","slug":"wordpress-blog-posting-thread-book-primer-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wordpress-blog-posting-thread-book-primer-tutorial\/","title":{"rendered":"WordPress Blog Posting Thread Book Primer Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/blogposting_book.jpg\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"WordPress Blog Posting Thread Book Primer Tutorial\" src=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/blogposting_book.jpg\" title=\"WordPress Blog Posting Thread Book Primer Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">WordPress Blog Posting Thread Book Primer Tutorial<\/p><\/div>\n<blockquote><p>\nWhat&#8217;s with the word &#8220;book&#8221; in today&#8217;s blog posting title?\n<\/p><\/blockquote>\n<p>Glad you asked?!  The idea of a &#8220;thread of blog postings&#8221; is a concept we keep up in our blog posting content managed by the posting authors.   On a lot of tutorials it is the history before that we string together in this contents, as for a &#8230;<\/p>\n<ul>\n<li>blog posting tutorial feed that presents from newest (up the top) to oldest (down the bottom) &#8230; which is good for &#8220;non-bingeing&#8221; awaiting &#8220;hot off the press content&#8221; readers &#8230; but what about people who want to &#8220;start from scratch&#8221;, later, with a big picture view (helped out by seeing the topic, or group of related concepts, progressively)<sup>?<\/sup> &#8230; so today we present an emoji button &#128256; &#8230;<\/p>\n<p><code><br \/>\n&lt;a id=\"oeimage-pair-fitting-into-a-given-dimension-sources-tutorial\" title=\"Change order of blog posts (now newest to oldest) to oldest through to newest (like a book)\" target=\"_blank\" style=\"text-decoration:none;cursor:pointer;\" onclick=\"hrrearrange(this);\"&gt;&amp;#128256;&lt;\/a&gt;<br \/>\n<\/code><br \/>\n &#8230; added via PHP &#8230;<br \/>\n&lt;?php echo &#8221;<br \/>\n<code><br \/>\n       cps[jiicp].innerHTML+='&nbsp;&lt;a id=\"oe' + h1cps[iicp].innerHTML.split(' id=\"d')[1].split('\"')[0] + '\" title=\"Change order of blog posts (now newest to oldest) to oldest through to newest (like a book)\" target=_blank style=\"text-decoration:none;cursor:pointer;\" onclick=\"hrrearrange(this);\"&gt;&amp;#128256;&lt;\/a&lt;';<br \/>\n<\/code><br \/>\n&#8220;; ?&gt;<\/p>\n<p> &#8230;  press means by which &#8230;<\/li>\n<li>blog postings can be reworked into an oldest (up the top) to newest (down the bottom) &#8220;book&#8221; compilation of the content up to the time of the blog posting you enter in examining<\/li>\n<\/ul>\n<p>This &#8220;book&#8221; presentation is always chronological, and so for context here, we add a select (dropdown) element with option element members of the form &#8230;<\/p>\n<p><code><br \/>\n[Blog Posting Title] (YYYYMMDD)<br \/>\n<\/code><\/p>\n<p> &#8230; the click of which hashtag navigates to that part of the &#8220;book&#8221; (like a chapter, if you will).<\/p>\n<p>Code changes for this all appear in our WordPress blog&#8217;s TwentyTen theme&#8217;s <font size=1>(good ol&#8217;)<\/font> header.php that work with a new &#8230;<\/p>\n<p>&lt;?php<br \/>\n<code><br \/>\n&lt;div style='display:none' id='drefresh'&gt;&lt;\/div&gt;<br \/>\n<\/code><br \/>\n?&gt;<\/p>\n<p> &#8230; as per &#8230;<\/p>\n<p>&lt;?php echo &#8221;<br \/>\n<code><br \/>\nvar divcih='', antidivcih='', hrsa=[], hroh='', twobits='', cdivid='con' + 't' + 'ent', onlok=true;<br \/>\n<br \/>\nfunction hrrearrange(ahrro) {<br \/>\n   var aid='' + ahrro.id;<br \/>\n   var honetoif='';<br \/>\n   var firsttitle='';<br \/>\n   var lasttitle='';<br \/>\n   var selindex='&amp;nbsp;&lt;select class=ptpico style=\"display:inline-block;vertical-align:top;\" size=1 title=\"Posting thread posts in chronological order\" onchange=\"location.href=' + \"'\" + '#' + \"'\" + ' + this.value + ' + \"'\" + '#andabit=-70' + \"'\" + '; var tsels=docgetclass(' + \"'\" + 'ptpico' + \"'\" + ', ' + \"'\" + 'select' + \"'\" + '); for (var iij=0; iij&lt;tsels.length; iij++) {  tsels[iij].value=this.value;   }\"&gt;&lt;option class=copt value=detrefresh&gt;&lt;\/option&gt;&lt;\/select&gt;';<br \/>\n   var appendixnum=0;<br \/>\n   if (navigator.userAgent.match(\/iPad\/i)) {<br \/>\n   \/\/alert('here at hrrearrange');<br \/>\n   }<br \/>\n   if (hrsa.length == 0) {<br \/>\n   lasttitle=document.getElementsByTagName('h1')[0].innerHTML.split(' &lt;')[0];<br \/>\n   if (navigator.userAgent.match(\/iPad\/i)) {<br \/>\n   \/\/alert('lasttitle=' + lasttitle + ' ... ' + document.getElementsByTagName('h1').length);<br \/>\n   }<br \/>\n   \/\/alert(lasttitle);<br \/>\n   var psdfs=document.getElementById('content').innerHTML.split('&lt;div id=\"post-');<br \/>\n   if (psdfs.length &gt; 1 && cdivid == 'cont' + 'ent') {  cdivid='post-' + psdfs[1].split('\"')[0];   }<br \/>\n   if (navigator.userAgent.match(\/iPad\/i)) {<br \/>\n   \/\/alert(cdivid);<br \/>\n   }<br \/>\n   hroh='&lt;hr title=\" ... welcome to the long hover functionality that shows Blog Post regarding Horizontal Rules\"&gt;';<br \/>\n   hrsa=document.getElementById(cdivid).innerHTML.split(hroh);<br \/>\n   if (navigator.userAgent.match(\/iPad\/i)) {<br \/>\n   \/\/alert(hroh + ' ... ' + hrsa.length);<br \/>\n   }<br \/>\n   if (hrsa.length == 1) { hroh='&lt;hr \/&gt;';  hrsa=document.getElementById(cdivid).innerHTML.split(hroh); }<br \/>\n   if (navigator.userAgent.match(\/iPad\/i)) {<br \/>\n   \/\/alert(hroh + ' ... ' + hrsa.length);<br \/>\n   }<br \/>\n   if (hrsa.length == 1) { hroh='&lt;hr&gt;';    hrsa=document.getElementById(cdivid).innerHTML.split(hroh);  }<br \/>\n   if (navigator.userAgent.match(\/iPad\/i)) {<br \/>\n   \/\/alert(hroh + ' ... ' + hrsa.length);<br \/>\n   }<br \/>\n   if (hrsa.length == 1) { hroh='&lt;p id=';    hrsa=document.getElementById(cdivid).innerHTML.split(hroh);  }<br \/>\n   if (navigator.userAgent.match(\/iPad\/i)) {<br \/>\n   \/\/alert(hroh + ' ... ' + hrsa.length);<br \/>\n   }<br \/>\n   }<br \/>\n   if (hrsa.length &lt;= 1) {<br \/>\n   if (navigator.userAgent.match(\/iPad\/i)) {<br \/>\n   \/\/alert('no hr found ' + document.getElementById(cdivid).innerHTML.split('&lt;p id=').length);<br \/>\n   if (document.getElementById(cdivid).innerHTML.indexOf('Previous relevant ') != -1) {<br \/>\n     \/\/alert(document.getElementById(cdivid).innerHTML.split('Previous relevant ')[0].slice(-300));<br \/>\n   }<br \/>\n   }<br \/>\n   }<br \/>\n   if (hrsa.length &gt; 1) {<br \/>\n   var ftit='Change order of blog posts (now newest to oldest) to oldest through to newest (like a book)';<br \/>\n   var ntit='Change order of blog posts (now oldest to newest like a book) to newest through to oldest (like a feed)';<br \/>\n   if (divcih == '') { divcih=document.getElementById(cdivid).innerHTML; }<br \/>\n   console.log('divcih=' + divcih);<br \/>\n   if (navigator.userAgent.match(\/iPad\/i)) {<br \/>\n   \/\/alert('divcih=' + divcih);<br \/>\n   }<br \/>\n   if (ahrro.title == ftit) { \/\/ change to oldest to newest<br \/>\n      \/\/alert(0);<br \/>\n      if (antidivcih != '') {<br \/>\n        document.getElementById('drefresh').style.display='inline-block';<br \/>\n   if (navigator.userAgent.match(\/iPad\/i)) {<br \/>\n   \/\/alert('Antidivcih=' + antidivcih);<br \/>\n   }<br \/>\n        document.getElementById('drefresh').innerHTML=antidivcih;<br \/>\n      } else {<br \/>\n      \/\/if (document.getElementById('btutsm')) {<br \/>\n      if (document.getElementById('stutsm')) {<br \/>\n        document.getElementById('istutsm').src='\/\/www.rjmprogramming.com.au\/ITblog\/bytheby.php?populate=stutsm&extraget=y';<br \/>\n        setTimeout(pdgeistutsm, 5000); \/\/alert(document.getElementById('stutsm').innerHTML);<br \/>\n      }<br \/>\n      \/\/}<br \/>\n      for (var ihj=eval(-1 + hrsa.length); ihj&gt;=0; ihj--) {<br \/>\n        if (hrsa[ihj].indexOf('&lt;p&gt;If this was interesting you may be interested in ') &gt;= 0 && hrsa[ihj].indexOf('&lt;p&gt;If this was interesting you may be interested in ') &lt; 9) {<br \/>\n         appendixnum++;<br \/>\n        }<br \/>\n      }<br \/>\n   if (navigator.userAgent.match(\/iPad\/i)) {<br \/>\n   \/\/alert('appendixnum=' + appendixnum);<br \/>\n   }<br \/>\n      var newcc='';<br \/>\n      var newp='';<br \/>\n      \/\/twobits=hrsa[0].split('&lt;div id=\"post')[0];<br \/>\n      \/\/if (twobits.trim() != '') { hrsa[0]=hrsa[0].replace(twobits, ''); newp=''; }<br \/>\n      var jih=0;<br \/>\n      for (jih=eval(-1 + eval(eval('' + hrsa.length)) \/ 1); jih&gt;=0; jih--) {<br \/>\n      \/\/alert(hroh + ' ' + hrsa.length);<br \/>\n      \/\/alert(eval(eval(eval('' + hrsa.length) - appendixnum) - jih - 1));<br \/>\n        if (hrsa[jih].indexOf('&lt;p&gt;If this was interesting you may be interested in ') &gt;= 0 && hrsa[jih].indexOf('&lt;p&gt;If this was interesting you may be interested in ') &lt; 9) {<br \/>\n        newcc=newcc;<br \/>\n        } else {<br \/>\n        \/\/alert('hrsa[' + eval(eval(eval('' + hrsa.length) - appendixnum) - jih - 1) + ']');<br \/>\n        if (firsttitle == '' && hrsa[jih].indexOf(' relevant ') != -1 && hrsa[jih].indexOf(' is shown ') != -1 && hrsa[jih].indexOf('&lt;a ') != -1) {<br \/>\n         firsttitle=hrsa[jih].split(' relevant ')[1].split('&gt;')[1].split('&gt;')[0];<br \/>\n   if (navigator.userAgent.match(\/iPad\/i)) {<br \/>\n   \/\/alert('firsttitle=' + firsttitle + ' ... ' + document.getElementsByTagName('h1').length);<br \/>\n   }<br \/>\n         selindex=selindex.replace('&gt;&lt;\/option&gt;', '&gt;' + firsttitle + '&lt;\/option&gt;');<br \/>\n        }<br \/>\n        if (hrsa[jih].indexOf('&lt;h1') != -1 && hrsa[jih].indexOf('&lt;iframe') != -1) {<br \/>\n          honetoif='&lt;h1' + hrsa[jih].split('&lt;h1')[1].split('&lt;iframe')[0];<br \/>\n   if (navigator.userAgent.match(\/iPad\/i)) {<br \/>\n   \/\/alert('honetoif=' + honetoif + ' ... ' + document.getElementsByTagName('h1').length);<br \/>\n   }<br \/>\n        newcc+=newp + hrsa[jih].replace(honetoif, '&lt;p&gt;Next relevant &lt;a target=_blank title=\"' + lasttitle + '\" href=\"' + document.URL + '\"&gt;' + lasttitle + '&lt;\/a&gt; is shown below.&lt;\/p&gt;').replace('&lt;\/frame&gt;', '&lt;iframe&gt;&lt;h1&gt;');<br \/>\n          honetoif+='&lt;\/h1&gt;';<br \/>\n   if (navigator.userAgent.match(\/iPad\/i)) {<br \/>\n   \/\/alert('newcc=' + newcc + ' ... ' + document.getElementsByTagName('h1').length);<br \/>\n   }<br \/>\n        } else {<br \/>\n        if (hrsa[jih].indexOf('&lt;p id=\"') != -1) {<br \/>\n          if (hrsa[jih].split('&lt;p id=\"')[1].indexOf('&lt;a ') != -1) {<br \/>\n          if (selindex.indexOf('&gt;' + hrsa[jih].split('&lt;p id=\"')[1].split('&lt;a ')[1].split('&gt;')[1].split('&lt;')[0] + '&lt;') == -1) {<br \/>\n            selindex=selindex.replace('&lt;\/select&gt;', '&lt;option class=copt value=\"dettop' + hrsa[jih].split('&lt;p id=\"')[1].split('\"')[0] +  '\"&gt;' + hrsa[jih].split('&lt;p id=\"')[1].split('&lt;a ')[1].split('&gt;')[1].split('&lt;')[0] + '&lt;\/option&gt;&lt;\/select&gt;');<br \/>\n            selindex=selindex.replace(' size=' + eval(-2 + eval('' + selindex.split('&lt;\/option&gt;').length)), ' size=' + eval(-1 + eval('' + selindex.split('&lt;\/option&gt;').length)));<br \/>\n            newcc+=newp + hrsa[jih].replace('&lt;p id=\"', '&lt;p id=\"dettop');<br \/>\n          } else {<br \/>\n        newcc+=newp + hrsa[jih];<br \/>\n          }<br \/>\n          } else {<br \/>\n        newcc+=newp + hrsa[jih];<br \/>\n          }<br \/>\n        } else {<br \/>\n        newcc+=newp + hrsa[jih];<br \/>\n        }<br \/>\n        }<br \/>\n        }<br \/>\n      \/\/alert('appendixnum=' + appendixnum + ' hrsa.length=' + hrsa.length + ' Newcc=' + newcc);<br \/>\n        newp=hroh;<br \/>\n        \/\/if (jih == eval(-1 + eval(eval('' + hrsa.length) - appendixnum) \/ 1)) {<br \/>\n        \/\/  for (var jjih=eval(eval(eval('' + hrsa.length) - appendixnum) \/ 1); jjih&lt;hrsa.length; jjih++) {<br \/>\n        \/\/   newcc+=newp + hrsa[jjih];<br \/>\n        \/\/   newp=hroh;<br \/>\n        \/\/  }<br \/>\n        \/\/}<br \/>\n      }<br \/>\n &lt;br&gt;<br \/>\n      for (jih=0; jih&lt;eval(eval(eval('' + hrsa.length) - appendixnum) \/ 1); jih++) {<br \/>\n      \/\/alert(hroh + ' ' + hrsa.length);<br \/>\n      \/\/alert(eval(eval(eval('' + hrsa.length) - appendixnum) - jih - 1));<br \/>\n        if (hrsa[jih].indexOf('&lt;p&gt;If this was interesting you may be interested in ') &gt;= 0 && hrsa[jih].indexOf('&lt;p&gt;If this was interesting you may be interested in ') &lt; 9) {<br \/>\n        \/\/alert('hrsa[' + eval(eval(eval('' + hrsa.length) - appendixnum) - jih - 1) + ']');<br \/>\n        newcc+=newp + hrsa[jih];<br \/>\n        } else {<br \/>\n        newcc=newcc;<br \/>\n        }<br \/>\n      \/\/alert('appendixnum=' + appendixnum + ' hrsa.length=' + hrsa.length + ' Newcc=' + newcc);<br \/>\n        newp=hroh;<br \/>\n        \/\/if (jih == eval(-1 + eval(eval('' + hrsa.length) - appendixnum) \/ 1)) {<br \/>\n        \/\/  for (var jjih=eval(eval(eval('' + hrsa.length) - appendixnum) \/ 1); jjih&lt;hrsa.length; jjih++) {<br \/>\n        \/\/   newcc+=newp + hrsa[jjih];<br \/>\n        \/\/   newp=hroh;<br \/>\n        \/\/  }<br \/>\n        \/\/}<br \/>\n      }<br \/>\n      \/\/alert('twobits=' + twobits);<br \/>\n      \/\/alert('newcc=' + newcc);<br \/>\n      if (1 == 11) {<br \/>\n      var wwo=window.open('', '_blank', 'top=100,left=100,width=800,height=900');<br \/>\n      wwo.document.write('&lt;body&gt;' + document.body.innerHTML.replace(divcih, twobits.replace(\/\\ onload\\=\/g, ' data-onload=') + newcc.replace(\/\\ onload\\=\/g, ' data-onload=')) + '&lt;\/body&gt;');<br \/>\n      \/\/document.body.innerHTML=document.body.innerHTML.replace(divcih, twobits.replace(\/\\ onload\\=\/g, ' data-onload=') + newcc.replace(\/\\ onload\\=\/g, ' data-onload='));<br \/>\n      } else {<br \/>\n      onlok=false;<br \/>\n      \/\/alert('ready?');<br \/>\n      \/\/document.getElementById('drefresh').innerHTML=twobits.replace(\/\\ onload\\=\/g, ' data-onload=') + newcc.replace(\/\\ onload\\=\/g, ' data-onload=');<br \/>\n      document.getElementById('drefresh').style.display='inline-block';<br \/>\n      document.getElementById('drefresh').style.backgroundColor='white';<br \/>\n      var firstpoh='&lt;p' + newcc.split('&lt;p')[1].split('&gt;')[0] + '&gt;';<br \/>\n      antidivcih=document.getElementById(aid).outerHTML.replace(aid, 'draid').replace(ftit, ntit).replace('hrr', 'setTimeout(lhcontentlater, 2000); hrr') + honetoif.replace(lasttitle, firsttitle) + twobits + newcc.replace('&lt;\/p&gt;', '').replace(firstpoh + 'Previous relevant ', '&lt;details id=detrefresh open&gt;&lt;summary&gt;First of thread (reading like a chronological posting thread) relevant ').replace(\/Previous\\ relevant\\ \/g, 'Next relevant ').replace(\/\\ is\\ shown\\ below\\.\/g, '&lt;\/summary&gt; is shown below. ' + document.getElementById(aid).outerHTML.replace(aid, 'ddraid').replace(ftit, ntit).replace('hrr', 'setTimeout(lhcontentlater, 2000); hrr') + selindex) + '&lt;\/details&gt;&lt;br&gt;&lt;hr title=\"Chronological book above and newest to oldest feed below\" style=\"color:rgba(255,0,0,0.8);height:40px;\"&gt;&lt;\/hr&gt;&lt;br&gt;';<br \/>\n   console.log('antidivcih=' + antidivcih);<br \/>\n         if (navigator.userAgent.match(\/iPad\/i)) {<br \/>\n   \/\/alert('antidivcih=' + antidivcih);<br \/>\n   }<br \/>\n&lt;br&gt;<br \/>\n\/\/alert('here');<br \/>\nif (!document.getElementById('drefresh')) { alert('why'); }<br \/>\n   if (navigator.userAgent.match(\/iPad\/i)) {<br \/>\n   \/\/alert('AntiDivcih=' + antidivcih);<br \/>\n   }<br \/>\n      onlok=false; \/\/ new<br \/>\n&lt;br&gt;<br \/>\n\/\/alert('prethere ' + document.URL.split('#')[0] + '?lastdrefresh=y');<br \/>\n      document.getElementById('drefresh').innerHTML=antidivcih;<br \/>\n\/\/alert('there');<br \/>\n\/\/alert(newcc.replace(firstpoh + 'Previous relevant ', '&lt;p&gt;First of thread relevant ').replace(\/Previous\\ relevant\\ \/g, 'Next relevant '));<br \/>\n      \/\/document.getElementById('drefresh').innerHTML=document.getElementById(aid).outerHTML.replace(aid, 'draid').replace(ftit, ntit) + honetoif.replace(lasttitle, firsttitle) + twobits + newcc.replace(firstpoh + 'Previous relevant ', '&lt;p&gt;First of thread relevant ').replace(\/Previous\\ relevant\\ \/g, 'Next relevant ');<br \/>\n      \/\/alert('read now');<br \/>\n      }<br \/>\n      }<br \/>\n\/\/alert('XHere');<br \/>\n      document.getElementById(aid).title=ntit;<br \/>\n      var jform = new FormData();<br \/>\n      var jxhr = new XMLHttpRequest();<br \/>\n      jform.append('lastdrefresh', antidivcih);<br \/>\n      jxhr.open('post', document.URL.split('\/ITblog')[0] + '\/ITblog\/toggle_download.php', false);<br \/>\n      jxhr.send(jform);<br \/>\n&lt;br&gt;<br \/>\n      wodivc=window.open(document.URL.split('#')[0] + '','_blank','top=0,left=' + eval(-100 + eval('' + screen.width)) + ',width=1,height=1');<br \/>\n\/\/alert('XXheRe');<br \/>\n      setTimeout(lhdrefreshlater, 2000);<br \/>\n\/\/alert('herE');<br \/>\n   } else {<br \/>\n   \/\/alert('huh?');<br \/>\n      \/\/document.getElementById('drefresh').innerHTML='';<br \/>\n      document.getElementById('drefresh').style.display='none';<br \/>\n      document.getElementById(cdivid).innerHTML=twobits + divcih;<br \/>\n      document.getElementById(aid).title=ftit;<br \/>\n      setTimeout(lhcontentlater, 2000); \/\/location.href='#content#andabit=-70'; \/\/document.getElementById('content').scrollIntoView();<br \/>\n   }<br \/>\n   \/\/alert('work in progress ' + hrsa.length + ' via appendixnum=' + appendixnum);<br \/>\n   }<br \/>\n}<br \/>\n <br \/> <br \/>\nfunction lhdrefreshlater() {<br \/>\n      location.href='#drefresh#andabit=-70'; \/\/document.getElementById('content').scrollIntoView()<br \/>\n}<br \/>\n <br \/> <br \/>\nfunction lhcontentlater() {<br \/>\n      location.href='#content#andabit=-70'; \/\/document.getElementById('content').scrollIntoView()<br \/>\n}<br \/>\n<\/code><br \/>\n&#8220;; ?&gt;<\/p>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d55752' onclick='var dv=document.getElementById(\"d55752\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/blog\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d55752' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>What&#8217;s with the word &#8220;book&#8221; in today&#8217;s blog posting title? Glad you asked?! The idea of a &#8220;thread of blog postings&#8221; is a concept we keep up in our blog posting content managed by the posting authors. On a lot &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/wordpress-blog-posting-thread-book-primer-tutorial\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,14,37],"tags":[151,156,557,2761,652,3976,3977,2076,932,970,997,1270,1319,1456],"class_list":["post-55752","post","type-post","status-publish","format-standard","hentry","category-elearning","category-event-driven-programming","category-tutorials","tag-blog","tag-book","tag-hashtag","tag-header-php","tag-javascript","tag-newset","tag-oldest","tag-order","tag-php","tag-post","tag-programming","tag-thread","tag-tutorial","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/55752"}],"collection":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/comments?post=55752"}],"version-history":[{"count":11,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/55752\/revisions"}],"predecessor-version":[{"id":55791,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/55752\/revisions\/55791"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=55752"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=55752"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=55752"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}