I have a stylesheet in my theme in the css subdir of the theme dir (css/style.css
). The question is how to make this .css file appear in the theme editor of the WordPress admin. (I know using the web editor is a bad idea and I never use it, but the client specifically asked for this).
Note: the only css file that shows up by default in my theme editor is ‘style.css’ of the root theme dir, but this is not what I need.
2 Answers
I’d say it’s impossible…
For one, there’s no hook inside the file /wp-admin/theme-editor.php
.
And last but not least, if you try one of this, it dumps an error:
/wp-admin/theme-editor.php?file=css%2Fstyle.css&theme=twentyeleven
/wp-admin/theme-editor.php?file=css/style.css&theme=twentyeleven
Case you find a workaround, this code injects a link to the desired file:
/**
* Adjust the if('Twenty Eleven' == sel) to your theme name
*/
add_action('admin_head-theme-editor.php', 'wpse_55949_script_enqueuer');
function wpse_55949_script_enqueuer(){
echo <<<HTML
<script type="text/javascript">
jQuery(document).ready( function($) {
var sel = $("#theme option:selected").text();
if('Twenty Eleven' == sel)
{
$('<li><a href="https://wordpress.stackexchange.com/questions/55949/theme-editor.php?file=css/style.css&theme=twentyeleven">Subfolder Stylesheet<br><span class="nonessential">(css/style.css)</span></a></li>').appendTo('#templateside ul:last');
}
});
</script>
HTML;
}
[update]
An alternate approach would be to create an options page where the client can write/manipulate the CSS.