Compare commits
6 Commits
open-graph
...
49f6c5c129
| Author | SHA1 | Date | |
|---|---|---|---|
|
49f6c5c129
|
|||
|
b4b31f8123
|
|||
|
3ecb7ea937
|
|||
|
78bf5207ab
|
|||
|
47433a939c
|
|||
|
6a373208dd
|
48
.github/workflows/release.yml
vendored
Normal file
48
.github/workflows/release.yml
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
name: Create Release ZIP
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v*'
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
build-and-release:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Build ZIP
|
||||
id: build_zip
|
||||
run: |
|
||||
set -e
|
||||
TAG=${GITHUB_REF##*/}
|
||||
ZIP_NAME="${GITHUB_REPOSITORY##*/}-$TAG.zip"
|
||||
echo "Creating $ZIP_NAME"
|
||||
zip -r "$ZIP_NAME" . -x ".git/*" "node_modules/*" ".github/*" "tests/*" "*.zip"
|
||||
echo "zip_name=$ZIP_NAME" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Create GitHub Release
|
||||
id: create_release
|
||||
uses: actions/create-release@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag_name: ${{ github.ref_name }}
|
||||
release_name: ${{ github.ref_name }}
|
||||
body: Release ${{ github.ref_name }}
|
||||
draft: false
|
||||
prerelease: false
|
||||
|
||||
- name: Upload Release Asset
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
asset_path: ${{ steps.build_zip.outputs.zip_name }}
|
||||
asset_name: ${{ steps.build_zip.outputs.zip_name }}
|
||||
asset_content_type: application/zip
|
||||
@@ -91,7 +91,8 @@ function custom_open_graph_tags_with_sportspress_integration() {
|
||||
);
|
||||
$i++;
|
||||
endforeach;
|
||||
$title = "{$teams_result_array[0]['team_name']} {$teams_result_array[0]['result']['r']} - {$teams_result_array[1]['result']['r']} {$teams_result_array[1]['team_name']} ({$publish_date})";
|
||||
$publish_date = get_the_date('F j, Y', $post);
|
||||
$title = "{$teams_result_array[0]['team_name']} {$teams_result_array[0]['result']['r']}-{$teams_result_array[1]['result']['r']} {$teams_result_array[1]['team_name']} ({$publish_date})";
|
||||
$description .= " " . "{$teams_result_array[0]['team_name']} ({$teams_result_array[0]['outcome']}), {$teams_result_array[1]['team_name']} ({$teams_result_array[1]['outcome']}).";;
|
||||
}
|
||||
|
||||
|
||||
89
includes/sp-event-permalink.php
Normal file
89
includes/sp-event-permalink.php
Normal file
@@ -0,0 +1,89 @@
|
||||
<?php
|
||||
/*
|
||||
Plugin Name: Custom Event Permalinks
|
||||
Description: Adds a custom permalink structure for the sp_event post type.
|
||||
Version: 1.0
|
||||
Author: Your Name
|
||||
*/
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit; // Exit if accessed directly
|
||||
}
|
||||
|
||||
// Register custom rewrite rules
|
||||
function custom_event_rewrite_rules() {
|
||||
add_rewrite_rule(
|
||||
'(?:event|game)/.*?[/]?([0-9]+)[/]?$',
|
||||
'index.php?post_type=sp_event&p=$matches[1]',
|
||||
'top'
|
||||
);
|
||||
}
|
||||
add_action('init', 'custom_event_rewrite_rules');
|
||||
|
||||
// Customize the permalink structure
|
||||
function custom_event_permalink($permalink, $post) {
|
||||
if ($post->post_type !== 'sp_event') {
|
||||
return $permalink;
|
||||
}
|
||||
|
||||
$event = new SP_Event($post->ID);
|
||||
$teams = get_post_meta($post->ID,'sp_team', false);
|
||||
$format = get_post_meta($post->ID,'sp_format', true);
|
||||
sort($teams);
|
||||
$seasons = get_the_terms($post->ID, 'sp_season', true );
|
||||
if ($seasons) {
|
||||
$seasons_slug = implode(
|
||||
"-",
|
||||
array_map(function($season){return $season->slug;},$seasons),
|
||||
);
|
||||
} else {
|
||||
$seasons_slug = "no-season";
|
||||
};
|
||||
|
||||
// Get the teams associated with the event
|
||||
$team_1 = get_post($teams[0]);
|
||||
$team_2 = get_post($teams[1]);
|
||||
|
||||
switch ($format) {
|
||||
case 'league':
|
||||
$format_string = 'game';
|
||||
break;
|
||||
case 'tournament':
|
||||
$format_string = 'game';
|
||||
break;
|
||||
case 'friendly':
|
||||
$format_string = 'event';
|
||||
break;
|
||||
default:
|
||||
$format_string = 'event';
|
||||
break;
|
||||
}
|
||||
|
||||
if ($team_1 && $team_2) {
|
||||
$permalink = home_url($format_string ."/". $seasons_slug . '/' . $team_1->post_name . '-' . $team_2->post_name . '/' . $post->ID);
|
||||
}
|
||||
|
||||
return $permalink;
|
||||
}
|
||||
add_filter('post_type_link', 'custom_event_permalink', 10, 2);
|
||||
|
||||
// Flush rewrite rules on activation and deactivation
|
||||
function custom_event_rewrite_flush() {
|
||||
custom_event_rewrite_rules();
|
||||
flush_rewrite_rules();
|
||||
}
|
||||
register_activation_hook(__FILE__, 'custom_event_rewrite_flush');
|
||||
register_deactivation_hook(__FILE__, 'flush_rewrite_rules');
|
||||
|
||||
// Modify the query to handle custom permalinks and include future posts
|
||||
function custom_event_parse_request($query) {
|
||||
$post_type = sp_array_value( $query->query, 'post_type', null );
|
||||
if (isset($query->query_vars['post_type']) && $query->query_vars['post_type'] === 'sp_event') {
|
||||
if (isset($query->query_vars['p'])) {
|
||||
$query->set('post_type', 'sp_event');
|
||||
$query->set('p', $query->query_vars['p']);
|
||||
$query->set('post_status', array('publish', 'future'));
|
||||
}
|
||||
}
|
||||
}
|
||||
add_action('pre_get_posts', 'custom_event_parse_request');
|
||||
@@ -16,3 +16,4 @@
|
||||
// Include other files here
|
||||
require_once plugin_dir_path(__FILE__) . 'includes/open-graph-tags.php';
|
||||
require_once plugin_dir_path(__FILE__) . 'includes/featured-image-generator.php';
|
||||
require_once plugin_dir_path(__FILE__) . 'includes/sp-event-permalink.php';
|
||||
Reference in New Issue
Block a user