Welcome to the Question2Answer Q&A. There's also a demo if you just want to try it out.
+1 vote
55 views
in Plugins by

Hello reader

I've got a request.

How can I add thumbnails next to questions?

If there is a small plugin, can you share it?

SAMPLE

--

Although I have researched the subject thoroughly, I could not find a working plugin. Please do not leave a link and get lost if your goal is to help

1 Answer

+2 votes
by

To add image in a question list is just a small trick. So, I don't believe someone is writing a plugin for this.

You just need to override some functions. Below is an old trick, you need to override q_list function either in your theme or in a separate plugin.

public function q_list($q_list)
{

if (!empty($q_list[‘qs’])) { // first check it is not an empty list and the feature is turned on
// Collect the question ids of all items in the question list (so we can do this in one DB query)
$postids = array();
foreach ($q_list[‘qs’] as $question)
{
if (isset($question[‘raw’][‘postid’]))
$postids[] = $question[‘raw’][‘postid’];
}

if (!empty($postids)) {

// Retrieve the content for these questions from the database and put into an array fetching
// the minimal amount of characters needed to determine the string should be shortened or not

$result = qa_db_query_sub(‘SELECT postid, content, format FROM ^posts WHERE postid IN (#)’, $postids);
$postinfo = qa_db_read_all_assoc($result, ‘postid’);

// Get the regular expression fragment to use for blocked words and the maximum length of content to show
$blockwordspreg = qa_get_block_words_preg();

// Now add the popup to the title for each question
foreach ($q_list[‘qs’] as $index => $question)
{
if (isset($postinfo[$question[‘raw’][‘postid’]])) {
$thispost = $postinfo[$question[‘raw’][‘postid’]];
$text = qa_viewer_html($thispost[‘content’], $thispost[‘format’], array(‘blockwordspreg’ => $blockwordspreg));

// Extract image source from content
preg_match_all(‘/<img[^>]+src=[\'”]([^\'”]+)[\'”][^>]*>/i’, $text, $matches);

// If content has image than show it!
if (!empty($matches[0])) {

// assign image to the variable
$image = ‘<img src=”‘ . $matches[1][0] . ‘” alt=”image” class=”q-list-image” width=”50″/>’; // change the size using attr or css
$q_list[‘qs’][$index][‘content’] = $image;
}
}
}
}
}

qa_html_theme_base::q_list($q_list);
}

If you are serious with your Q2A site, ask with a registered account because I don't know if you understand or not, or if you don't know how to write a plugin, or you are a real webmaster or just some former blogger.

Welcome to the Q&A site for Question2Answer.

If you have a question about Q2A, please ask in English.

To report a bug, please create a new issue on Github or ask a question here with the bug tag.

If you just want to try Q2A, please use the demo site.

July 15, 2020: Q2A 1.8.5 released!

Categories

...