I’ve been using the Post Kinds plugin for a few years on this WordPress site. It allows you to easily style a specific type of posting (a like, bookmark, reply, rsvp, read, check-in etc), it automatically pulls in the relevant information form the posting you’re reacting to, and adds the right machine readable micro-formats so that if you ping the source website that site can see if it is a direct reply, a like, a regular mention etc.

David Shanske deserves a lot of credit for creating and maintaining this valuable WP plugin, and for his contributions to the IndieWeb community over the years. Yet I always kept some reservations even while I’ve been depending on the Post Kinds plugin. One thing was the ability to shape how these post kinds look, meanwhile addressed. One is it prevents me from adopting Gutenberg in WordPress, even while others (of the few) plugins I use are moving to a Gutenberg only stance, meaning conflict and/or hard choices lie in the near future of this blog.

Most of all however I balk at how information around a post kind gets stored. To me the thing I am reacting to is an inherent and equal part of my posting. Because pointing to the thing I’m reacting to is nothing other than a hyperlink, the core feature of the web itself. That in the case of a post kind such a hyperlink is more fancily handled and presented does not change that. However the thing I am reacting to gets lifted outside the posting and is stored differently in the WordPress database by Post Kinds. This has as a consequence that should I switch off Post Kinds the connection between my postings and what it is reacting to is severed, even if it is still in the database. It changes “Reply to hyperlink.tld: That’s a great idea” to “That’s a great idea”, which is a serious loss of meaning. In that way Post Kinds becomes a lock-in and a potential single point of failure that breaks the web, at least my part of the web that this blog forms. The two images below demonstrate the effect:


A ‘like’ posting with Post Kinds enabled


The same posting without Post Kinds, which means a serious loss of information because the actual hyperlink to the thing discussed disappears

So I want to break out of that lock-in, and find a work around. This means all relevant info about the thing I am reacting to should be in the actual posting. My current idea is that I will create simple templates for the post kinds I actually have used until now, and put them behind a keyboard shortcut. That way I can ensure the right micro-formats are used for others to interpret. Over time I can replace the existing Post Kinds dependent postings (about 900 in this blog) in the same way, clearing the way for switching it off entirely. This should increase the autonomy of keeping this blog, and decrease dependencies.

Google is experimenting with added functionality to the Chrome browser that follows your browsing. It’s called Federated Learning of Cohorts, FLoCs. This is a way of tracking you for advertising purposes that doesn’t rely on third party cookies. That last bit sounds nice, but it is still very much based on active tracking, and this time it’s the Chrome browser itself that provides the data, turning Chrome into ad-delivery malware. You can opt-out with your Chrome browser, or better yet by not using Chrome, and also website owners can opt out their sites.

That is what I’ve done, opting out my WordPress site, by adding a small function to functions.php in my theme. Adtech cannot be aligned with the GDPR, so it wasn’t a decision at all.

WordPress seems to be planning to add that function to WordPress itself, starting from version 5.8, which should arrive in July. That sounds like a good step.

If that blocking is too successful however, I bet we’ll see opt-out settings actively ignored, like with the Do-Not-Track settings already.

Boris wrote that iA Writer has support for Micropub now. That sounds interesting, as it would allow me to write locally, and publish to several of my sites, both online and on my local system.

Somehow I can’t get the iA app to talk to my IndieAuth endpoint yet. Not sure what the issue is, but duckduckgo-ing the error message seems to indicate it has to do with some system settings on my laptop?

The resource could not be loaded because the App Transport Security policy requires the use of a secure connection

Using WordPress pages as wiki as I’ve been doing in the past months, has drawbacks of course: no versioning on the page (but it is available in the admin back-end), no easy outlining functionality (changing hierarchies, dragging snippets) for which html lists like <ul><li></li></ul> are only an extremely poor substitute. For the pages on this site, this is less problematic. The pages here are more static content I think. I am noticing it more on my personal WP instance, where I write daily.

At the same time I want to avoid going on a hunt for the ‘best’ tool / set-up, which is why I am trying to not get sucked into the ongoing wave of enthusiasm for Roam. This is why WP is useful at this stage: I am using it already, both online and locally.

In response to Peter’s earlier request I have created a new RSS feed that contains only comments on postings, not other types of reactions such as likes, mentions, and ping- or trackbacks. It was a bit of a puzzle to get it all working, having me dive down the rabbit hole leading to the maze that is the WordPress documentation. With some suggestions from Jan Boddez, I now have a result. The new feed is listed on the right hand side. Subscribe to it if you care to follow conversations on this blog. The feed with all interactions, so including likes etc., is also available.

I documented how I created the feed over in the wiki.

I am trying to add an additional RSS feed, using a different template, to my blog. Most documentation on WordPress.org seems to be aimed at replacing an existing feed, or alter its contents.

The additional feed is meant to fulfill Peter’s request to have a comments feed that shows only real comments, not all the likes, reposts etc I also receive through WebMentions. It is a very logical request, but I also want to keep the original comments RSS feed that includes all interaction with content on this site. So I need to add a new RSS feed.

WordPress.org doesn’t really contain any complete step-by-step explanations for anything, including for adding customised RSS feeds. It also doesn’t have any info on excluding pingbacks from comment feeds, which would be similar to what I’m trying to do. I tried stuff based on snippets of documentation I did find, but couldn’t put those snippets together into a coherent path to a solution.

Then I found a guide at WPBeginner dot com (WP beginner, that’s me, even though I’ve been a WP user and tinkerer since 2004) It’s from 2016 so maybe not concurrent with today’s version of WP. Following their explanation, I added the following to my child theme’s functions.php:

add_action('init', 'extracommentsRSS');
function extracommentsRSS(){
add_feed('commentsdupe', 'extracommentsrssFunc');
}

function extracommentsrssFunc() {
get_template_part('rss2', 'commentsdupe');
}

The first part adds the new feed to WP, the second function tells it where to look for the template for the feed. That template, named rss2-commentsdupe.php, is located within the child-theme folder.

The URL for the feed now works, however it first prompted a download of an empty file due to the template file having a wrong name. With that name corrected (based on Jan’s comments below), it does load the template correctly.

The template itself still has issues (meaning it doesn’t work as intended at all): the while has_comments() loop provides no results, as it does not get passed any variables. Because the get_template_part is not provided with those variables before getting called. Jan suggested adding the query to the template. Did that, but now struggle to find a way to lift the comments from the query result.

The query below gets the latest 20 approved reactions on my site of the type ‘comment’ (as opposed to e.g. pingback or webmention):

$query = new WP_Comment_Query( array( 'status' => 'approve', 'type' => 'comment', 'number' => 20, 'orderby' => 'commentdate_date' ) );

The result if I print it as arrays, contains 7 elements (the query, the query arguments, default query arguments (?), an empty one, an array with the 20 requested WP comment objects, and two more empty ones).
The query works as intended, but now I do not know how a) to access the 5th element, and b) handle the WP comment objects within it. What seems to be intended functions for it (have_comments(), the_comment()) don’t seem to work.

The below code at least does not work. If I test it like this, it never enters the while loop, so never echoes ‘BOE’

while ( $query->have_comments() ) :
echo 'BOE';
$query->the_comment();
$comment_post = get_post( $comment->comment_post_ID );
$GLOBALS['post'] = $comment_post;
?> etc.

After some more suggestions by Jan Boddez, ao that have_comments() doesn’t work for wp_comment_query, I then established that get_comments to query the comments, and then a foreach to loop through them works the way I need it to.

$query = get_comments( array( 'status' => 'approve', 'type' => 'comment', 'number' => 20, 'orderby' => 'commentdate_date' ) );

foreach ($query as $comment):
$comment_post = get_post( $comment->comment_post_ID );
$GLOBALS['post'] = $comment_post;

Once I had that the original feed template could be fully re-used, and now validates:

[Valid RSS]