class WordPressProfileDefinition extends OAuthProfileDefinition {

    /** Constant <code>PRIMARY_BLOG="primary_blog"</code> */
    public static final String PRIMARY_BLOG = "primary_blog";
    /** Constant <code>AVATAR_URL="avatar_URL"</code> */
    public static final String AVATAR_URL = "avatar_URL";
    /** Constant <code>PROFILE_URL="profile_URL"</code> */
    public static final String PROFILE_URL = "profile_URL";
    /** Constant <code>LINKS="links"</code> */
    public static final String LINKS = "links";

    /**
     * <p>Constructor for WordPressProfileDefinition.</p>
     */
    public WordPressProfileDefinition() {
        super(x -> new WordPressProfile());
        primary(Pac4jConstants.USERNAME, Converters.STRING);
        primary(PRIMARY_BLOG, Converters.INTEGER);
        primary(AVATAR_URL, Converters.URL);
        primary(PROFILE_URL, Converters.URL);
        secondary(LINKS, new JsonConverter(WordPressLinks.class));
    }

    /** {@inheritDoc} */
    @Override
    public String getProfileUrl(final Token accessToken, final OAuthConfiguration configuration) {
        return "https://public-api.wordpress.com/rest/v1/me/?pretty=1";
    }

    /** {@inheritDoc} */
    @Override
    public WordPressProfile extractUserProfile(final String body) {<FILL_FUNCTION_BODY>}
}

        val profile = (WordPressProfile) newProfile();
        var json = JsonHelper.getFirstNode(body);
        if (json != null) {
            profile.setId(ProfileHelper.sanitizeIdentifier(JsonHelper.getElement(json, "ID")));
            for (val attribute : getPrimaryAttributes()) {
                convertAndAdd(profile, PROFILE_ATTRIBUTE, attribute, JsonHelper.getElement(json, attribute));
            }
            json = json.get("meta");
            if (json != null) {
                val attribute = WordPressProfileDefinition.LINKS;
                convertAndAdd(profile, PROFILE_ATTRIBUTE, attribute, JsonHelper.getElement(json, attribute));
            }
        } else {
            raiseProfileExtractionJsonError(body);
        }
        return profile;
    
<methods>public void <init>() ,public void <init>(org.pac4j.core.profile.factory.ProfileFactory) ,public abstract org.pac4j.core.profile.CommonProfile extractUserProfile(java.lang.String) ,public abstract java.lang.String getProfileUrl(com.github.scribejava.core.model.Token, org.pac4j.oauth.config.OAuthConfiguration) ,public com.github.scribejava.core.model.Verb getProfileVerb() <variables>