wordpress tinymce add blocks of html code - php

I know you can add style formats to wordpress through the functions.php file which is great for buttons e.g:
<button class="button">Click Me!</button>
But does anyone know a solution if you wanted to add entire sections of code from a dropdown or a similar method other than defining it in a template page? So, for example, you could add html code below by selecting from a dropdown or clicking a button from the WYSIWYG TinyMCE editor:
<div class="col-md-4 text-center logo">
<a class="navbar-brand" href="google.com">
<img class="responsive" src="#" />
</a>
</div>
So there are multiple tags and classes.
Thanks,
Rick

There is a Wordpress Plugin called Content Blocks that lets you do this sort of thing.

Related

Removing class in WordPress plugins file - not working without page refresh for the first time

I have a class called event-manager in a wordpress php file in the plugins folder. They are using this class to style the elements, and I am using a custom css to over-write this. The problem is I cannot overwrite their css so I had to remove this class all-together.
I need to remove this class dynamically, removing manually every-time is pointless, because every-time the plugin gets updated the class comes back.
And here the html structure. The class appears on two different pages and on both pages the image alignment is different.
<!-- Home page -->
<div class="some-class">
<div class="some-more-class">
<div class="featured-image"> <!-- this image alignment is different -->
<div class="event-image"> <!-- this div is generated dynamically from the plugin -->
some link
</div>
</div>
</div>
</div>
<!-- Blog single -->
<div class="some-class">
<div class="some-more-class">
<div class="featured-img"> <!-- and image alignment is different -->
<div class="event-image"> <!-- this div is generated dynamically from the plugin -->
some link
</div>
</div>
</div>
</div>
To acheive this I used jquery .removeClass method.
$(function(){
$(".featured-img > div, .featured-image > div").removeClass("event-manager");
});
I also tried this
$(function(){
$(".featured-img > div").removeClass("event-image");
$(".featured-image > div").removeClass("event-image");
});
And this
var featuredimg = ['.featured-img > div','.featured-image > div'];
$(featuredimg.join()).removeClass('event-image');
On all these methods, the class seems to be removed, because its on two different pages, when I load the homepage.php for the first time, the class is removed but when I go to single.php, it did not remove automatically and when I refresh the page, the class removes. I am not sure why.
Can anyone help me.
Thanks.
In my opinions it is related with caching. Do you have any? If yes disable it to test if works without it. If no you can check on developer console if do you have any errors. Issue can be also with place the script like this (prefer at the end of the page).

How to convert an html content to wordpress

I have the following html code that tried to place in my WordPress page.
html:
<div class="hovereffect">
<img src="<?php echo get_template_directory_uri() ?>phone.jpg" >
<div class="overlay">
<h2>Hover effect 9</h2>
<a class="info" href="#">link here</a>
</div>
</div>
At the moment everything is in the site except the image that does not show.
How can I use this code WordPress in a way that it can display the image?
I think you forget to tell which place it should get the images from. And you are also forgetting a semicolon after the get_template_directory_uri();.
This is an example, but here i'm telling which folder to get the image from:
<img src="<?php echo get_template_directory_uri(); ?>/assets/images/your_image.jpg">
you can do that but it is not a good practice to paste this code as it is in WordPress editor,
upload this image in media and get link of that image
Edit page, select text mode from top right corner of your editor and paste code these i.e
<div class="hovereffect">
<img src="http://example.com/wp-content/uploads/2016/07/img.png" >
<div class="overlay">
<h2>Hover effect 9</h2>
<a class="info" href="#">link here</a>
</div>
</div>
Here is good practice create a template for that page and write there your code.
Image replace with feature image
Heading with page title.
Detail with page content
link with page permalink.
Not enough reputation to leave a comment so I will leave this as an answer instead.
Assuming phone.jpg is at the root of your theme, you're forgetting the / (slash) before phone.jpg.
It should be
<img src="<?php echo get_template_directory_uri(); ?>/phone.jpg" >
PHP won't get parsed inside a page. Just upload the image to the WordPress media library and link to it directly.

WordPress is adding absolute path to my image multiple times

I have a quite specific problem to solve today - I just can't get my head wrapped around it. Makes totally no sense for me...
It's about a live site: http://rawrockchick.com/#testimonial-slider
If you scroll down to the testimonials on the home page (the link above should bring you there) you'll see that the slider arrows are missing. For a reason I can't figure out the URL is prepended a couple of times before the image src:
<img src="http://rawrockchick.comhttp://rawrockchick.comhttp://rawrockchick.com/media/manual/slider-arrow-left.png">
This wasn't the case two weeks ago, without anybody consciously touching it. I first thought of some Javascript thing happening with the bootstrap slider, but as you can see the testimonial image itself is not affected, even though it's placed in the exact way as the sliders are.
The whole slider is a very simple bootstrap carousel. Excerpts (relevant section) of the code:
<div class="item active">
<div class="row">
<div class="col-sm-8">
<p>"An up-and-coming UK raw food teacher and songstress, Barbara Fernandez has it going on! This girl can do food prep! Her Raw Mexican food is amazing"</p>
<p class="testimonial-author">Nomi Shannon</p>
<p class="testimonial-role">rawgourmet.com</p>
<a class="left carousel-control" href="#testimonial-slider" data-slide="prev"><img src="/media/manual/slider-arrow-left.png"></a>
<a class="right carousel-control" href="#testimonial-slider" data-slide="next"><img src="/media/manual/slider-arrow-right.png"></a>
</div>
<div class="col-sm-4">
<img src="/media/test-nomi-150.jpg" class="img-responsive hidden-xs hidden-sm img-circle" style="margin-left:25px;">
</div>
</div>
</div>
As you can see the images are inserted the exact same way.
What I tried already (no change):
I moved the <img src="/media/manual/slider-arrow-left.png"> out of the link and placed it directly under the working image, the same strange behavior occurs for the slider arrow (by this test I wanted to make sure there's no jquery rule affecting only that one column of the slider, or the a tag).
Hardcoding absolute image URL (src="http://rawrockchick.com/media/manual/slider-arrow-left.png")
WordPress PHP query for image URL (src="<?php echo home_url(); ?>/media/manual/slider-arrow-left.png")
I'd be very thankful if anyone had any ideas about that phenomena. Or idea how to debug it further.
I am not really sure why you are getting a double URL but using an absolute path to your image could help solve things.
<img src="<?php echo home_url(); ?>/media/test-nomi-150.jpg" class="img-responsive hidden-xs hidden-sm img-circle" style="margin-left:25px;">
Solved.
Found it out via disabling plugin for plugin that a Pinterest hover button plugin (this to be precise) was causing that mysterious phenomena.
Thanks for all the answers and hints!

How to add an additional <div> and <label> to wordpress menu

I am trying to add
<div class="menu-toggle">
<label for="checkbox" id="checkboxLabel">Menu</label></div>
<input type="checkbox" id="checkbox">
to a wordpress menu. I am using the the custom menu widget, but have no idea how to add this piece of code above
<div class="menu-main-menu-container">
The reason why I would like to do this is because I have some css which allows me to toggle the menu on and off on smaller screen sizes. When I add the code above in the correct place using google chrome inspector it works perfectly, I am now stuck trying to implement this 'live'. I know it will be editing one of the wordpress .php files, but that is not my strong point. Any help would be appreciated.
Depends on your theme but there might be a chance it's located inside header.php. Go to Appearance > Editor and select header.php. Do a search for the menu.
Make sure you have closing div tags like this.
<div class="menu-toggle">
<label for="checkbox" id="checkboxLabel">Menu</label></div>
<input type="checkbox" id="checkbox">
<div class="menu-main-menu-container">
...
</div>
</div>

How to make custom text use the Inline Translation tool in Magento Enterprise

I've created a piece of text in a Magento Template, and the inline translation tool is turned on and working fine, but when I visit the page with my custom text, it seems to ignore that it's translatable (no book icon and dotted red border).
So here's what I have (approx):
<div class="foo">
<?php echo $this->__('My custom Text'); ?>
</div>
Which renders fine, and if I edit the relevant CSV file, it changes appropriately.
Is there any way to "add" this to the translation tool's eyeline?
Thanks in advance!
OK, Managed to find the problem - so for anybody that wants to use the inline translation stuff, do:
<div class="foo">
<span>
<?php echo $this->__('My custom Text'); ?>
</span>
</div>
There's a list of allowed translatable inline tags on line #87 of app/code/core/Mage/Core/Model/Translate/Inline.php ("_allowedTagsSimple"). Enabling divs here is madness itself, but wrapping in spans should be generally quite safe.

Categories