Follow

WordPress FAQs

What Is This Feature?

Kapost’s integration with WordPress enables you to publish blogs, web pages, or any type of HTML content you create in Kapost directly to WordPress.

Use this integration to publish content with designated author bylines and bios, see draft previews, and utilize SEO integrations with popular plugins such as Yoast.

  • Supported Content Type: HTML
    • Files can be sent to WordPress by implementing the XML-RPC files API, which you can find here.
  • Supported Analytics: total page views, click-throughs, inbound links, downloads, Facebook shares
  • Kapost uses XML-RPC to interact with Wordpress

How It Helps

Kapost’s WordPress integration lets you publish content to WordPress, one of the most popular CMS sites that powers millions of websites and software applications, from personals blogs to the largest enterprises, media publishers, universities, and government agencies.

This integration enables your to sync WordPress categories with Kapost, preview HTML content in Kapost before publishing it to Wordpress, and send SEO information from Kapost to WordPress.

FAQs

This article includes many questions and their answers about your Kapost-WordPress integration. If the following information doesn’t provide the answers you’re looking, speak with your Kapost customer success manager.

The quickest way to find the information you’re looking for is to use ctrl+F on a PC, or command+F on a Mac, to search for a key term.

 

Why do I need to install Kapost’s WordPress Plugin?

Installing the Kapost WordPress plugin enables you to take advantage of the integration’s full functionality:

  1. Associate posts with the correct author. The email addresses of the Kapost user and the WordPress user must match.
  2. Send images marked as "featured" inside Kapost to be recognized and marked as featured in WordPress.
  3. Work correctly with custom post types.
  4. Send the author’s bio (byline) from Kapost to WordPress. When publishing to WordPress, this option will set the CMS user's bio to be the same as the author's bio.  This needs to be turned on both in Kapost (on by default in the App Center) and in the WordPress plugin.
  5. Send the user's social data from Kapost to WordPress.

Find and install the plugin in the WordPress Plugin Directory. In a standard WordPress installation, the WordPress plugins are located in the wp-content/plugins directory.

The plugin can be extended to set up highly custom configurations. 1.9.6 is the new version that’s available. See this page with information on how the plugin can be extended, and speak with your Kapost customer success manager about completing this extension.

If you’re using a WordPress Multisite, you’ll need a different plugin. Ask your Kapost customer success manager if you’d like more information on how to add this, and see the section below in this article with more information about using WordPress Multisite.

 

How do WordPress upgrades impact my integration?

WordPress upgrades should only rarely, if at all, affect the Kapost WordPress plugin.

If your WordPress instance is heavily customized, changes to its theme (especially functions.php) or to custom-built plugins can affect the Kapost plugin and cause issues during publishing. If this occurs, let your Kapost customer success manager know immediately so that we can help you assess the changes and resolve the issues.

  • To avoid encountering any issues, please tell your Kapost customer success manager about any changes you’re making in advance of making them so we’re prepared to help you avoid any disruptions.

 

Why am I getting an error when I try to connect my WordPress to the Kapost App Center?

First, make sure the username and password you're using are up to date by trying these credentials on WordPress itself.

If your credentials are up to date, the issue might be caused by using a longform WordPress URL. Kapost requires the simplest form of the URL (such as: http://wp.example.com).

If you’ve tried this and you’re still getting an error, contact Kapost’s Support team for assistance: support@kapost.com.

 

Can I preview a WordPress post?

Yes, and you can enable this in the Kapost WordPress Plugin settings. The preview is disabled by default.

Once you’ve enabled the preview and refreshed your connection in the App Center by re-saving the connection, a Preview button should appear in the More drop-down menu on a content details page. The preview will create a draft post in WordPress, which you’ll see until the content is published. The generated preview URL is valid for 12 hours and can be shared outside of Kapost.

Previewing an already published piece of content will show the content as-is and will not update the content with any changes made in Kapost.

Find more information on previewing WordPress posts here.

 

Can I set the visibility of a WordPress post?

Yes, you can set the visibility of a WordPress post by creating a drop-down custom field with the field name set to kapost_wp_visibility and the following three values: Public, Private, Password Protected.

When this field is set to Password Protected, you must define another text custom field with the field name set to kapost_wp_password. This field will contain the actual password.

1.png

 

Why are my social analytics listed at 0?

You must have the Kapost WordPress plugin installed, or else your social analytics aren’t tracked.

If you do have the plugin installed and your social analytics are listed at 0, check to make sure that the post in question wasn’t edited and then re-published from WordPress directly, as WordPress will strip out Kapost’s tracking code.

  

Why is my text mismatched after I publish to Wordpress?

Kapost’s text editor and WordPress’ text editor are slightly different, so some small differences in text might not translate between Kapost and WordPress.

  • For example, if you copy-paste your post's text from a few different sources, it may end up being mismatched in ways that Kapost doesn't show but Wordpress does.  

To avoid this problem, type the content directly into Kapost, rather than copy and pasting. If this isn’t possible, you can highlight all the text, remove all formatting, and then add the formatting back in when you’re finished.

 

What happens if I want to remove a post I posted to WordPress from Kapost?

Don't remove the post from WordPress or you’ll encounter a significant error (but if you’ve done this, contact Kapost’s Support team for assistance: support@kapost.com).

Instead, edit your post in Kapost as a draft, and then re-publish it from Kapost. To do this, click the Publish button and select the draft option from the pop-up modal.

Why is Kapost overriding the edits I made in WordPress?

This is likely happening if you’re not publishing directly from Kapost to WordPress.

Publishing takes the source code for your content from Kapost and puts it in the source code area for your post in WordPress. If something different is in place on WordPress's end, publishing from Kapost will paste what's in Kapost over what is in WordPress.

 

I added some extra HTML attributes to my post, why did they disappear when I published to WordPress?

Kapost doesn’t support all HTML tags, so some of them get stripped from the source code. Here’s a list of Kapost’s whitelisted tags.

 

Can I add other file types to publish to WordPress from Kapost?

While HTML body content types are the default content types for your WordPress-Kapost integration, files of other content types can be sent to WordPress by implementing the XML-RPC files API, which you can find here.


What are the security details for my Kapost-WordPress integration?

  • Kapost is all SSL/TLS. From Kapost to the CMS, it is SSL/TLS if the CMS in question uses SSL/TLS.
  • Passwords are always encrypted when Kapost transfers passwords not via cleartext.
  • When connecting with WordPress Multi-site, you should create a separate, author type, user for each individual instance and use this user to connect your Kapost to WordPress. This user should have access ONLY to that one blog. This ensures that there are no permissions issues when publishing.

 

What if I’m experiencing a connection issue?

A common connection issue arises when your WordPress instance has some sort of a security plugin installed which disables the XML-RPC endpoint or enables two-factor authentication (2FA).

  • To solve an enabled 2FA, a new, Kapost-specific user should be created with a secure, random password which doesn’t have 2FA enabled and connected in Kapost. This user must have Editor or Admin privileges in Kapost.

If Kapost can’t connect to your WordPress instance, the returned error is often a 302, 404, 401, or 403 error.

A 302 error means that the XML-RPC endpoint is redirecting.

  • This is generally the case if the WordPress instance redirects automatically from http to https and the URL in Kapost is using http.
  • Alternatively, this occurs when your WordPress instance blindly enforces trailing slashes in URLs, and the rule happens to also be applied to xmlrpc.php. In this case, the solution is to set a custom endpoint:

2.png

A 404 error means that the XML-RPC endpoint is not in the “assumed” default location, or it has been disabled via the means of .htaccess or another server configuration.

  • Generally this requires reaching out to your developers or devops team members and working with them to re-enable or restore the XML-RPC endpoint.
  • This error also occurs when the XML-RPC endpoint was renamed. The solution to this is to set a custom endpoint in Kapost.

A 401 or 403 error is an authentication error that means one of two things:

1) The .htaccess rules or other server configuration has been used to disable the XML-RPC endpoint. To resolve this, we need to work with your developers or devops team.

2) The XML-RPC endpoint is behind a “Basic Authentication Challenge,” in which case the username and password can be embedded in the URL (or endpoint URL if a custom endpoint is used). The following formula can be used to do this: http://user:password@wp.example.com (the user and password are separated with a ‘:’).

Access the XML-RPC endpoint directly in your browser by visiting https://marketeer.kapost.com/xmlrpc.php. You should see the message: “XML-RPC server accepts POST requests only.”

If there’s any other message or this redirects, then the XML-RPC endpoint is not available or it has been tampered with. This means that it must be restored in order for Kapost to be able to connect.

  • The actual endpoint URL is always: siteurl + /xmlrpc.php

Where siteurl is the “root” URL of the Wordpress instance, and it doesn’t include wp-admin or login.php. For example, if the Wordpress instance is located at http://wp.example.com then the endpoint URL is http://wp.example.com/xmlrpc.php.

If you see a message that says "Name or service not known" then you’re encountering a connectivity error on your blog. If you’ve been publishing correctly prior to receiving this error, then it’s likely a temporary glitch that will resolve itself. Wait a few minutes and try again. If you still see the error, contact Kapost’s Support team: support@kapost.com.

 

Why am I seeing an error message about the wrong content type?

If you’re seeing aWrong content-type (received 'text/html' but expected text/xml') error message, there are two possible reasons:

  1. Another plugin you use is interfering with Kapost’s publishing. Contact Kapost’s support team for help resolving this: support@kapost.com.
  2. Your WordPress could be out of memory. This usually happens if you’re trying to upload a large image. The size of an image varies for each WordPress instance depending on how much memory is allocated for it. Usually all you’ll need to do is remove a large image and try to publish again.

 

Why am I seeing the error message, “Sorry, you cannot edit this post”?

Most often you’ll see this message when the user connected to your WordPress integration has limited permissions in WordPress.

  • The WordPress connection may have been created with a WordPress profile/account without sufficient permissions to write to WordPress.
  • The Author/Assigned person in Kapost may not have write privileges in the corresponding WordPress server.

To resolve this, start by checking the permissions of the connected user. If they have the right permissions to publish posts and are still seeing this error message, contact Kapost’s Support team for help resolving this: support@kapost.com.

 

How can I find custom field names in WordPress?

When you’re setting up custom field mappings for any WordPress instance, first you must determine the field names for any desired fields.

  • Often, your technical team members should be able to provide us with the field names. If they don’t know, or if they’re not available to ask, Kapost’s support team can help out with Admin-level access to your WordPress CMS.

You must determine how the custom fields are registered in WordPress.

Third-party WordPress Plugins

There are a few third-party plugins that are used to create and manage custom fields. Find these by looking at your list of installed plugins in WordPress.

3.png

  • When the Advanced Custom Fields plugin is used, find the “field name” by looking at each Field Group, which lists the “Field Name” for each of the defined fields.
  • When the Pods - Custom Content Types and Fields plugin is used, the field name is called “Name.
  • When the Toolset Types plugin is used, the field name is called “Field Slug.

Custom First-Party Wordpress Plugins

You might be using custom-built plugins which expose and work with various custom fields.

In this case, in order to figure out the “field names” you’ll need to look at the source code of the specific plugins to find code sequences that use update_post_meta or get_post_meta. The second argument of these functions are going to be the field name.

For example, in the below image you can see that the field name is “_wp_page_template.”Because it has a leading underscore, you also can tell that it’s a “protected” custom field.

4.png

Custom Fields Defined in the Wordpress Theme

In some cases you’ll find custom fields in the WordPress theme you’re using. In this case the theme’s functions.php has to be investigated using the same technique discussed in the First-Party WordPress Plugins section.

For example, in the image below the field name is “custom_title.” It’s a regular custom field since it doesn’t have a leading underscore. Remember that your field names are always case sensitive.

4.png

 

Does Kapost support WordPress Multisite?

Yes, WordPress Multisite is supported.

To set this up, each sub-site should have its own Kapost-specific user (username and password) connected in the App Center. Each sub-site should have the Kapost WordPress Plugin installed and enabled.

When a WordPress Multisite instance uses HTTPS, and on connect you see an error message that says “No available blogs found,” then a small XML-RPC patch has to be installed to patch the XML-RPC server and resolves this issue: http://plugins.kapost.com/kapost-xmlrpc-patch.zip.

 

What should I do when I need to debug XML-RPC?

The first thing to do when you need to debug XML-RPC is to fire up a Python (3) shell and use the bundled xmlrpc library:

 

>>> import xmlprc.client

>>> s = xmlrpc.client.ServerProxy("http://wp.example.me:8080/xmlrpc.php")

>>> s.system.listMethods()

[‘system.multicall', 'system.listMethods', 'system.getCapabilities', …]

>>>

 

This will let you check if the XML-RPC endpoint is working and confirm the existence of various XML-RPC methods, such as “kapost.version” which is exposed by the Kapost WordPress plugin. If this call fails, then the XML-RPC endpoint is not working.

 

To check the Kapost WordPress plugin version, use:

 

>>> import xmlprc.client

>>> s = xmlrpc.client.ServerProxy("http://wp.example.me:8080/xmlrpc.php")

>>> s.kapost.version()

‘2.1.7’

>>>

 

To check the available blogs:

 

>>> import xmlprc.client

>>> s = xmlrpc.client.ServerProxy("http://wp.example.me:8080/xmlrpc.php")

>>> s.blogger.getUsersBlogs(‘1’, ‘admin’, ‘password’)

[{'isAdmin': True, 'url': 'http://wp.kpst.me:8080/', 'blogid': '1', 'blogName': 'Playground', 'xmlrpc': 'http://wp.kpst.me:8080/xmlrpc.php'}]

>>>

 

To see the actual RAW HTTP requests, initialize the XML-RPC client:

 

>>> s = xmlrpc.client.ServerProxy("http://wp.example.me:8080/xmlrpc.php", verbose = True)

>>>

 

If the WordPress instance in question has problems with its SSL certificates, such as if it’s expired or invalid, then it’s possible to disable SSL verification by initializing the XML-RPC client:

 

>>> import ssl

>>> s = xmlrpc.client.ServerProxy("http://wp.example.me:8080/xmlrpc.php", context=ssl._create_unverified_context())

>>>

 

If you’ve looked into the above debugging methods and haven’t found a solution, we’re here to help. We’ll ask you to provide the following so we can assist you:

  • A list of all your installed plugins
  • The source code of any custom-built plugins
  • The source code of your WordPress theme and admin access to your Wordpress instance


Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments