bnomei / kirby3-posthog
Kirby Plugin for interfacing with Posthog
Installs: 336
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 0
Open Issues: 0
Type:kirby-plugin
Requires
- php: >=8.2
- getkirby/composer-installer: ^1.2
- posthog/posthog-php: ^3.0
Requires (Dev)
- getkirby/cms: ^5.0.0-alpha.4
- larastan/larastan: ^v3.0.0
- laravel/pint: ^1.13
- pestphp/pest: ^v3.5.1
- spatie/ray: ^1.39
README
Kirby Plugin for interfacing with Posthog
Install
- unzip master.zip as folder
site/plugins/kirby3-posthog
or git submodule add https://github.com/bnomei/kirby3-posthog.git site/plugins/kirby3-posthog
orcomposer require bnomei/kirby3-posthog
Setup
You can set the apikey and host in the config.
site/config/config.php
return [ // other config settings ... 'bnomei.posthog.apikey' => 'YOUR-KEY-HERE', 'bnomei.posthog.host' => 'YOUR-HOST-HERE', ];
You can also set a callback if you use the dotenv Plugin.
site/config/config.php
return [ // other config settings ... 'bnomei.posthog.apikey' => function() { return env('POSTHOG_APIKEY'); }, 'bnomei.posthog.host' => function() { return env('POSTHOG_HOST'); }, ];
Javascript
Output the tracking Javascript via the snippet included in the plugin.
<?php snippet('posthog'); ?> </body> </html>
Usage
PHP track pageview
site/template/default.php
<?php // track page view event for current kirby user or identified posthog user $page->posthogCapturePageView(); // be careful to not have any whitespace before <html> ><html> <!-- ... ---> </html>
PHP helper function
Use the posthog()
-helper to access Posthog. You can use all methods from the Posthog PHP library.
<?php posthog()->capture([ 'distinctId' => site()->posthogDistinctId(), 'event' => 'movie played', 'properties' => array( 'movieId' => '123', 'category' => 'romcom' ) ])
In addition to the posthog()
-helper this plugin adds the following features to the original library.
- Disabled on localhost by default
- Cache for Feature Flag list - it would otherwise send a http request to your posthog instance every time you access the list. It still will send one for every feature flag check.
Warning
Using the static class from the official Posthog docs is not supported.
Settings
Tip
Read more about apikey
and personalapikey
here: https://posthog.com/docs/api
Dependencies
Disclaimer
This plugin is provided "as is" with no guarantee. Use it at your own risk and always test it yourself before using it in a production environment. If you find any issues, please create a new issue.
License
It is discouraged to use this plugin in any project that promotes racism, sexism, homophobia, animal abuse, violence or any other form of hate speech.