Skip to content

Instantly share code, notes, and snippets.

@mfrancois3k
Forked from thomas-mcgee/convertkit-cache-tags
Created April 19, 2023 04:28
Show Gist options
  • Save mfrancois3k/0a90f07bf5d785cd986e2adbfab4bd00 to your computer and use it in GitHub Desktop.
Save mfrancois3k/0a90f07bf5d785cd986e2adbfab4bd00 to your computer and use it in GitHub Desktop.
Cache ConvertKit Tag List
function build_convertkit_tag_list( $force_refresh = 0 ) {
$convertkit_api_key = ( isset( $_POST['nt_convertkit_api'] ) ? $_POST['nt_convertkit_api'] : null );
if ( !empty( $convertkit_api_key ) || $force_refresh ) :
$api_key = get_option( 'nt_convertkit_api' );
if ( !empty( $api_key ) ) {
$json = np_curl_get_contents( 'https://api.convertkit.com/v3/tags?api_key=' . $api_key );
$obj = json_decode($json);
$tags = $obj->tags;
} else {
$tags = array();
}
$tag_array = array();
foreach( $tags as $tag ) {
$tag_array[$tag->id] = $tag->name;
}
update_option( 'convertkit_tags', $tag_array );
endif;
}
add_action( 'admin_init', 'build_convertkit_tag_list' );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment