Also available, Plausible Stats Aggregator
If you have multiple sites and need a roll-up view, you can use the plugin below.
- Plausible Analytics for WordPress activated on each site.
- A roll-up domain
| You are the orchestrator. | |
| You think, design and plan architectural decision only. Write only essential technical specs and reasoning. Prefer not to write code yourself unless all executors fail. | |
| Never assume the user's intent. Ask for clarification for ambiguous situations. | |
| Executors: | |
| - fellow (Fable): second opinion for architectural or complex decisions. For hardest problem only. | |
| - mechanical (Sonnet): mechanical for fast/small redundant tasks. | |
| - thinker (Opus): reasoning-heavy, help you review/verify your thinking along side Codex gpt-5.6-sol below. |
| /** | |
| * Redirect the new AI Settings > Connectors screen back to the Dashboard so it can't be accessed | |
| */ | |
| function mytheme_admin_redirects() { | |
| global $pagenow; | |
| /* Redirect Connectors screen back to main Dashboard page */ | |
| if( $pagenow == 'options-connectors.php' ) { | |
| wp_redirect( admin_url( '/' ), 301 ); | |
| exit; |
| #!/usr/bin/env python3 | |
| import json, sys, subprocess, os, time | |
| # Force UTF-8 output on Windows | |
| sys.stdout.reconfigure(encoding='utf-8', errors='replace') | |
| data = json.load(sys.stdin) | |
| model = data.get('model', {}).get('display_name') or data.get('model', {}).get('id', 'Unknown') | |
| cwd = data.get('workspace', {}).get('current_dir') or data.get('cwd') or os.getcwd() |
| name: twenty | |
| services: | |
| server: | |
| image: 'twentycrm/twenty:${TAG:-latest}' | |
| volumes: | |
| - 'server-local-data:/app/packages/twenty-server/.local-storage' | |
| ports: | |
| - '3000:3000' | |
| environment: | |
| SERVICE_FQDN_SERVER_3000: null |
Also available, Plausible Stats Aggregator
If you have multiple sites and need a roll-up view, you can use the plugin below.
| <?php | |
| /** | |
| * DevKit related tweaks | |
| * https://dplugins.com/downloads/devkit/ | |
| * | |
| * Must be included in functions.php | |
| * | |
| * @package GenerateChild | |
| */ | |
| # documentation: https://twenty.com/developers/section/self-hosting/docker-compose | |
| # slogan: Twenty is a CRM designed to fit your unique business needs. | |
| # tags: crm, self-hosted, dashboard | |
| # logo: svgs/twenty.svg | |
| # port: 3000 | |
| services: | |
| change-vol-ownership: | |
| image: ubuntu | |
| user: root |
| <?php | |
| /** | |
| * Remove this opening PHP tag when adding to your theme's functions.php | |
| * It's included here for proper syntax highlighting in the gist. | |
| */ | |
| /** | |
| * Displays an grid of the GeneratePress global color palette with color blocks. | |
| * Built to use on website style guides with Beaver Builder but can be used anywhere. | |
| * Global Colors must be set in the GP Customiser |
| <?php | |
| add_filter( 'gform_entry_is_spam', 'filter_gform_entry_is_spam_urls_and_emails', 11, 3 ); | |
| function filter_gform_entry_is_spam_urls_and_emails( $is_spam, $form, $entry ) { | |
| if ( $is_spam ) { | |
| return $is_spam; | |
| } | |
| $field_types_to_check = array( | |
| 'hidden', |
| add_filter( 'display_post_states', function( $post_states, $post ) { | |
| if ( get_post_meta( $post->ID, '_fl_builder_enabled', true ) ) { | |
| $draft = get_post_meta( $post->ID, '_fl_builder_draft', true ); | |
| $live = get_post_meta( $post->ID, '_fl_builder_data', true ); | |
| if ( '' !== $draft && $draft != $live ) { | |
| $post_states['bb_draft'] = 'Unpublished Changes'; | |
| } | |
| } |