You need to apply the ‘the_content’, ‘the_title’ filters on each field, respectively. Don’t know if that’s possible with your widget.
Making the post thumbnail editable is an interesting idea.
Thread Starter
Nobble
(@nobble)
Thanks Scribu,
I had been using those respective filters on the fields I’m using. The thing is, I can double click and it will open up a blank editing screen (not the content of the field). I can type in there, save it, but on page fresh the original content shows. Then if I try to edit it again, I can open up the editing screen again, and my previously entered text will still be there. Not sure how I’m doing that! Any clues?
I think it’s because you’re not in The Loop.
Try using setup_postdata():
foreach ( $posts as $post ) {
setup_postdata($post);
... rest of code here ...
}
But then, you might as well be using a proper loop:
$loop = new WP_Query('your query vars here');
while ( $loop->have_posts() ) : $loop->the_post();
... rest of code here ...
endwhile;
Thread Starter
Nobble
(@nobble)
Hey Scribu,
I switched from using get_post to a loop a la
$loop = new WP_Query('your query vars here');
while ( $loop->have_posts() ) : $loop->the_post();
... rest of code here ...
endwhile;
And it now works on my development site but not on other sites I’ve tried it on, with the exact same code and plugin settings…and I can’t figure out why. For some reason Front-end editor is not wrapping it’s classes around the_excerpt(), the_title() and the_content() for my custom loop (it is for the default loops in theme though). Do you have any idea on what might be causing conflicts/what to look for?
ps. Love that post thumbnails are now editable, it´s working great!
Are you sure you’re running the same version of the plugin on both installs?
Thread Starter
Nobble
(@nobble)
I’ve tried both 2.7.1 and the dev version. It’s working on my dev site (uses thesis theme) but fails on the other sites I’ve tried.
I’ve also tried testing
<?php $postslist = get_posts('numberposts=2&order=ASC&orderby=title');
foreach ($postslist as $post) :
setup_postdata($post);
?>
<div>
<?php the_date(); ?>
<br />
<?php the_title(); ?>
<?php the_excerpt(); ?>
</div>
<?php endforeach;?>
with the same results, title and excerpt etc aren’t editable. They don’t get wrapped by front end editor on my installs. Puzzling…
Thread Starter
Nobble
(@nobble)
Update:
I still haven’t figured out why front end editor doesn’t grab the_excerpt, the_title() and the_content() consistently from the sidebar widgets. In testing with other sites, I noticed it sometimes will work (in my cases it worked when there were no regular loops being used (the custom template I created consisted just of widget areas no other content/loops), in fact I had it work with my initial get_post code.
What could cause front end editor to not wrap the content/title/excerpt even if it is outputted through the corresponding functions or with the right filters?
It checks in_the_loop() before wrapping.
This was added in an attemt to fix various issues, since filters like ‘the_title’ or ‘the_content’ don’t pass the post id as a parameter.
Thread Starter
Nobble
(@nobble)
I see, it works when in_the_loop() returns as true. Now I think I know how to fix it. Thanks Scribu!
Thread Starter
Nobble
(@nobble)
I’ve got my code and plugin working great when I comment out the in_the_loop() tag. I don’t suppose you could add the possibility of disabling the in_the_loop() check, through a setting? saves from having to tweak your plugin on every update.
How about using query_posts() instead of get_posts()?
<?php
query_posts('numberposts=2&order=ASC&orderby=title');
while ( have_posts() ) : the_post();
?>
<div>
<?php the_date(); ?>
<br />
<?php the_title(); ?>
<?php the_excerpt(); ?>
</div>
<?php
endwhile;
wp_reset_query();
?>
Notice the wp_reset_query() call at the end.
Thread Starter
Nobble
(@nobble)
That works but I was using get_post initially because it enabled me to specify a page or post id and grab that content regardless of it’s post status. Get_post is more convenient for my usage scenario.
However, when I do
$custom_query = get_post( $my_page_id );
the_post(); //sets in_the_loop to true
setup_postdata($custom_query);
output etc
Now I have front end editor functional without having to touch its code, disregard the previous post. I’m doing more testing to see if my solution is working properly.