static public function hooks( Attachments $obj ) {

		add_shortcode( self::SHORTCODE, [ $obj, 'shortcodeHandler' ] );

		// prevent further processing of formatted strings
		add_filter(
			'no_texturize_shortcodes',
			function ( $excluded_shortcodes ) {
				$excluded_shortcodes[] = Attachments::SHORTCODE;

				return $excluded_shortcodes;
			}
		);

		// add img tag when searching for media
		add_filter(
			'media_embedded_in_content_allowed_types', function ( $allowed_media_types ) {
				if ( ! in_array( 'img', $allowed_media_types, true ) ) {
					array_push( $allowed_media_types, 'img' );
				}

				return $allowed_media_types;
			}
		);

		// don't show unless user options
		$options = get_option( 'pressbooks_theme_options_global' );
		// check it's set
		if ( isset( $options['attachment_attributions'] ) ) {
			// check it's turned on
			if ( 1 === $options['attachment_attributions'] ) {
				add_filter( 'the_content', [ $obj, 'getAttributions' ], 12 );
			}
		}

	}