Then you can call the SVG with a shortcode. That way your SVG code doesn’t take over your layout. Just paste this entire snip into your function.php file.
function custom_svgs_menu() { add_menu_page('SVGs', 'SVGs', 'manage_options', 'SVGs','top_level_svgs'); } function top_level_svgs() { //844AM if(isset($_POST['has_submitted_custom_svgs'])) { //117PM if (!wp_verify_nonce( $_POST['custom_svgs_nonce'], 'process_custom_svgs' )) { exit; } $custom_svg_name = $_POST['custom_svg_name']; $custom_svgs_data = $_POST['custom_svgs_data']; $all_custom_svgs = get_option('custom_svgs'); if ( !empty($custom_svg_name) && !empty($custom_svgs_data)) { $all_custom_svgs[$custom_svg_name] = $custom_svgs_data ; } if ($_POST['delete_svg'] == "yes") { //117PM unset($all_custom_svgs[$custom_svg_name]); } //117PM update_option( 'custom_svgs', $all_custom_svgs ); }//117PM $all_custom_svgs = get_option('custom_svgs'); ?> <style> .custom_svgs_form label { display: block; } .custom_svgs_form input{ width :300px; padding: 5px; margin-bottom: 10px; } .custom_svgs_form textarea{ width :500px; height :350px; padding: 5px; margin-bottom: 10px; } .svgs_submit { cursor:pointer; width: auto !important; display: inline-block; border: 1px solid #000000; border-radius: 6px; } .custom_svgs_form { background-color: #C9C7C7; padding: 15px; margin-bottom: 15px; } .delete_svg { width: auto !important; } .delete_svg_wrap { display: inline-block; margin-left: 340px; } .custom_svgs_form h2 span { font-size: 12px; display: inline-block; margin-left: 300px; } </style> <h1>Custom SVGs</h1> <form class="custom_svgs_form" method="post" enctype="multipart/form-data"> <h2>New SVG</h2> <label>SVG Name</label> <input type="text" name="custom_svg_name" class="svg_name_input" value=""/> <label>SVG Data</label> <textarea name="custom_svgs_data" class="svg_textarea"></textarea> <br /> <? wp_nonce_field( 'process_custom_svgs', 'custom_svgs_nonce' ); ?> <input type="submit" class="svgs_submit" value="Submit" /> <input type="hidden" name="has_submitted_custom_svgs" id="custom_svgs_submitted" value="true" /> </form> <? if (!empty($all_custom_svgs)) { foreach ($all_custom_svgs as $svg_name => $custom_svg) { //434PM ?> <form class="custom_svgs_form" method="post" enctype="multipart/form-data"> <h2><? echo $svg_name; ?> <span> [svg name="<? echo $svg_name; ?>"]</span> </h2> <input type="hidden" name="custom_svg_name" class="svg_name_input" value="<? echo $svg_name; ?>"/> <label>SVG Data</label> <textarea name="custom_svgs_data" class="svg_textarea"><? echo stripslashes($custom_svg); ?></textarea> <br /> <? wp_nonce_field( 'process_custom_svgs', 'custom_svgs_nonce' ); ?> <input type="submit" class="svgs_submit" value="Submit" /> <div class="delete_svg_wrap"><input type="checkbox" class="delete_svg" name="delete_svg" value="yes" /><span>DELETE SVG</span></div> <input type="hidden" name="has_submitted_custom_svgs" id="custom_svgs_submitted" value="true" /> </form> <? } } //434PM } //844AM add_action('admin_menu', 'custom_svgs_menu'); function custom_svg_shortcode( $atts ){ extract( shortcode_atts( array( 'name' => '', ), $atts ) ); $all_custom_svgs = get_option('custom_svgs'); $svg = stripslashes($all_custom_svgs[$name]); return $svg; } add_shortcode( 'svg', 'custom_svg_shortcode' );