• Skip to main content
  • Skip to primary sidebar
  • Skip to footer

[oik] plugins.com

WordPress plugins and themes

  • About
    • lazy shortcodes
    • smart shortcodes
    • oik base plugin
      • oik – donate
      • oik PayPal buttons
      • oik installation
      • oik Button Shortcode button
      • oik changelog
      • oik FAQ
      • oik plugins on SVN
      • oik plugins on GitHub
  • Plugins
    • oik base plugin
    • FREE oik plugins
    • WordPress plugins
    • Premium oik plugins
    • Bespoke oik plugins
  • Shortcodes
    • Shortcode examples
  • Blocks
    • Block examples
  • APIs
    • ALL action and filter hooks
  • Blog

bw_github() – Implement [github] shortcode

Description

Implement [github] shortcode

Create a link to a github repository, version, release, issue, comment or whatever

repository |
Link type Example
issues https://github.com/fusioneng/shortcake/issues
archive https://github.com/bobbingwide/oik-privacy-policy/archive/v1.3.1.zip
owner https://github.com/bobbingwide

Usage

$string = bw_github( $atts, $content, $tag );

Parameters

$atts
( array ) optional – shortcode parameters
$content
( string ) optional – optional content
$tag
( string ) optional – shortcode tag

Returns

string link to GitHub

TO DO

This first version is very simple. It's being used to create links to Issues. It will need to be extended to do other things and cater for shortcuts in the shortcode parameters Perhaps it just needs to parse $atts[0] and reconstitute it… much like bw_link tries to do.

TO DO

See also https://wordpress.org/plugins/github-release-downloads

TO DO

Jetpack already provides the [gist] shortcode to embed Gists from GitHub

Source

File name: oik-bob-bing-wide/shortcodes/oik-github.php
Lines:
1 to 46 of 46
function bw_github( $atts=null, $content=null, $tag=null ) {
  $owner = bw_array_get_from( $atts, "owner,0", null );
  $repository = bw_array_get_from( $atts, "repo,1", null );
  $type = bw_array_get_from( $atts, "type,2", '' );
  $number = bw_array_get_from( $atts, "issue,3", '' );
  $url = bw_array_get_from( $atts, "url", "https://github.com" );
  $github = array();
  if ( false != strpos( $type, "." ) ) {
    bw_github_file( $url, $owner, $repository, $type );
  } elseif ( 0 !== strpos($number, 'release' ) && false != strpos( $number, '.') ) {
    bw_github_file( $url, $owner, $repository, $number );
  } else {
    $class = "github";
    //$text = bw_github_genericon( "github", $class );
    // The GitHub icon is from the WordPress social links set. Now suffixed with -link.
    $text = bw_github_svgicon( "github-link", $class);
    $text .= ' ';
    $github[] = $url;
    if ( $owner ) {
      $github[] = $owner;
      $text .= $owner;
    }
    if ( $repository ) {
      $github[] = $repository;
      $text .= '/';
      $text .= $repository;
    }
    if ( $type ) {
      $github[] = bw_github_sanitize_type( $type );
      //$text .= " ". $type;
      $class .= " $type-link";
    }
    if ( $number ) {
      $github[] = $number;
      if ( is_numeric( $number )) {
        $text.="#" . $number;
      } else {
        $text .= '/';
        $text .= $number;
      }
    }
    $target = implode( "/", $github );
    alink( $class, $target, $text );
  }
  return( bw_ret() );
}
 
 View on GitHub

Called by

    Invoked by

      Calls

      1 to 2 of 2
      • alink() – Create a link
      • bw_ret() – Use bw_ret() to return the contents of $bwecho, leaving the global value as NULL

      Call hooks

      Function name: bw_github
      Plugin ref: oik-bob-bing-wide – more blocks and lazy smart shortcodes
      Version: 2.3.0
      Sourcefile: shortcodes/oik-github.php
      File ref: shortcodes/oik-github.php
      API type: shortcode
      Deprecated?: No
      API Letters:

      Published: September 14, 2015 | Last updated: September 14, 2015

      Primary Sidebar

      Information

      Function name: bw_github
      Plugin ref: oik-bob-bing-wide – more blocks and lazy smart shortcodes
      Version: 2.3.0
      Sourcefile: shortcodes/oik-github.php
      File ref: shortcodes/oik-github.php
      API type: shortcode
      Deprecated?: No
      API Letters:

      Recent plugin updates

      oik-fields v1.55.0
      oik-fields v1.55.0 Upgrade to oik-fields v1.55.0 for accessibility improvements to the featured image virtual field. ...
      oik-css v2.4.0
      oik-css v2.4.0 Upgrade to oik-css v2.4.0 for accessibility improvements for Low Color Contrast errors. ...
      oik-unloader v0.4.0
      oik-unloader v0.4.0 Update to oik-unloader v0.4.0 for improved accessibility of the active-plugins shortcode. Tested with WordPress 6.9 and PHP 8.4 ...
      oik-nivo-slider v1.18.0
      oik-nivo-slider v1.18.0 Upgrade to oik-nivo-slider v1.18.0 for improved accessibility (a11y ). Tested with WordPress 6.9 and PHP 8.4 ...
      oik-privacy-policy v1.4.11
      oik-privacy-policy v1.4.11 oik-privacy-policy v1.4.11 contains another minor security fix; to sanitize the title of any new privacy policy page you generate.  ...

      Footer

      Plugins

      • All Plugins
      • oik base plugin
      • FREE oik plugins
      • WordPress plugins
      • Premium oik plugins

      Themes

      • FREE themes
      • Bespoke themes
      • Premium themes

      Blocks

      • All Blocks
      • Block examples
      • About Blocks

      Shortcodes

      • All Shortcodes
      • Shortcode examples
      • About Shortcodes

      Reference

      • About APIs
      • All APIs
      • All Classes
      • All Files
      • All Hooks

      Support

      • Contact
      • Cookies policy
      • Get API key
      • Privacy
      • Request support
      • Sitemap
      • Stay informed
      • Terms and Conditions
      oik-plugins
      Email: oikplug@oik-plugins.com

      Weight shipping plugins

      Find out which cart weight shipping plugin you need for your WooCommerce site.
      Which cart weight based plugin do I need?

      Site:  www.oik-plugins.com
      © Copyright oik-plugins 2011-2026. All rights reserved.


      Website designed and developed by Herb Miller of Bobbing Wide
      Proudly powered by WordPress and oik-plugins

      WordPress version: 6.9.4

      Gutenberg version: 22.7.0

      PHP version: 8.2.30